@node fflush
@section @code{fflush}
@findex fflush
POSIX specification: @url{http://www.opengroup.org/susv3xsh/fflush.html}
Gnulib module: fflush
Portability problems fixed by Gnulib:
@itemize
@item
@code{fflush} followed by @code{fseek} or @code{fseeko}, applied to an input
stream, should have the effect of positioning the underlying file descriptor.
It doesn't do this on some platforms.
@item
@code{fflush} on an input stream changes the position of the stream to the
end of the previous buffer, on some platforms: mingw.
@item
@code{fflush} on an input stream right after @code{ungetc} does not discard
the @code{ungetc} buffer, on some platforms:
MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, Cygwin 1.5.25-10.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@item
@code{fflush}, @code{ftell}, @code{ftello}, @code{fgetpos} behave incorrectly
on input streams that are opened in @code{O_TEXT} mode and whose contents
contains Unix line terminators (LF), on some platforms: mingw.
@item
On Windows platforms (excluding Cygwin), this function does not set @code{errno}
upon failure.
@item
@code{fflush} on an input stream right after @code{ungetc} does not discard
the @code{ungetc} buffer, on some platforms:
AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw.
@end itemize