fopen
=====

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

Gnulib module: fopen

Portability problems fixed by Gnulib:

  * This function does not fail when the file name argument ends in a slash and (without the slash) names a nonexistent file or a file that is not a directory, on some platforms: HP-UX 11.00, AIX 7.1, Solaris 9, Irix 5.3.

  * On Windows platforms (excluding Cygwin), this function does usually not recognize the /dev/null filename.

Portability problems not fixed by Gnulib:

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

  * On Windows, this function returns a file stream in ``text'' mode by default; this means that it translates '\n' to CR/LF by default.  Use the "b" flag if you need reliable binary I/O.

  * On Windows platforms (excluding Cygwin), this function fails to open directories for reading.  Such streams have implementation-defined semantics on other platforms.  To avoid directory streams with a consistent error message, use fstat after open and fdopen, rather than fopen and fileno.