fflush
======

POSIX specification:
 http://www.opengroup.org/onlinepubs/9699919799/functions/fflush.html

Gnulib module: fflush

Portability problems fixed by Gnulib:

  * fflush followed by fseek or fseeko, applied to an input stream, should have the effect of positioning the underlying file descriptor. It doesn't do this on some platforms.

  * fflush on an input stream changes the position of the stream to the end of the previous buffer, on some platforms: mingw, MSVC 9.

  * fflush on an input stream right after ungetc does not discard the ungetc buffer, on some platforms: Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Cygwin 1.5.25-10.

Portability problems not fixed by Gnulib:

  * fflush, ftell, ftello, fgetpos behave incorrectly on input streams that are opened in O_TEXT mode and whose contents contains Unix line terminators (LF), on some platforms: mingw, MSVC 9.

  * On Windows platforms (excluding Cygwin), this function does not set errno upon failure.

  * This function crashes if the stream's file descriptor has already been closed, if MSVC_INVALID_PARAMETER_HANDLING is HAIRY_LIBRARY_HANDLING or SANE_LIBRARY_HANDLING, on some platforms: MSVC 9.

  * fflush on an input stream right after ungetc does not discard the ungetc buffer, on some platforms: AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.