mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 14:00:30 +00:00
Document limitations on streams passed to freopen
As recently discussed, document that freopen does not work with streams opened with functions such as popen, fmemopen, open_memstream or fopencookie. I've filed <https://austingroupbugs.net/view.php?id=1855> to clarify this issue in POSIX. Tested with "make info" and "make html".
This commit is contained in:
parent
7d6e30b4b4
commit
a2509a8bc9
@ -330,6 +330,14 @@ this ability, so using @code{freopen} is more portable.
|
|||||||
When the sources are compiled with @code{_FILE_OFFSET_BITS == 64} on a
|
When the sources are compiled with @code{_FILE_OFFSET_BITS == 64} on a
|
||||||
32 bit machine this function is in fact @code{freopen64} since the LFS
|
32 bit machine this function is in fact @code{freopen64} since the LFS
|
||||||
interface replaces transparently the old interface.
|
interface replaces transparently the old interface.
|
||||||
|
|
||||||
|
@Theglibc{} only supports use of @code{freopen} on streams opened with
|
||||||
|
@code{fopen} or @code{fopen64} and on the original values of the
|
||||||
|
standard streams @code{stdin}, @code{stdout}, and @code{stderr}; such
|
||||||
|
a stream may be reopened multiple times with @code{freopen}. If it is
|
||||||
|
called on another kind of stream (opened with functions such as
|
||||||
|
@code{popen}, @code{fmemopen}, @code{open_memstream}, and
|
||||||
|
@code{fopencookie}), @code{freopen} fails and returns a null pointer.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
@deftypefun {FILE *} freopen64 (const char *@var{filename}, const char *@var{opentype}, FILE *@var{stream})
|
@deftypefun {FILE *} freopen64 (const char *@var{filename}, const char *@var{opentype}, FILE *@var{stream})
|
||||||
|
Loading…
Reference in New Issue
Block a user