summaryrefslogtreecommitdiff
path: root/gnulib/doc/posix-functions/fopen.texi
diff options
context:
space:
mode:
Diffstat (limited to 'gnulib/doc/posix-functions/fopen.texi')
m---------gnulib0
-rw-r--r--gnulib/doc/posix-functions/fopen.texi39
2 files changed, 39 insertions, 0 deletions
diff --git a/gnulib b/gnulib
deleted file mode 160000
-Subproject 443bc5ffcf7429e557f4a371b0661abe98ddbc1
diff --git a/gnulib/doc/posix-functions/fopen.texi b/gnulib/doc/posix-functions/fopen.texi
new file mode 100644
index 0000000..167a147
--- /dev/null
+++ b/gnulib/doc/posix-functions/fopen.texi
@@ -0,0 +1,39 @@
+@node fopen
+@section @code{fopen}
+@findex fopen
+
+POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fopen.html}
+
+Gnulib module: fopen
+
+Portability problems fixed by Gnulib:
+@itemize
+@item
+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.
+@item
+On platforms where @code{off_t} is a 32-bit type, @code{fopen} may not work
+correctly with files larger than 2 GB. (Cf. @code{AC_SYS_LARGEFILE}.)
+@item
+On Windows platforms (excluding Cygwin), this function does usually not
+recognize the @file{/dev/null} filename.
+@end itemize
+
+Portability problems not fixed by Gnulib:
+@itemize
+@item
+On Windows platforms (excluding Cygwin), this function does not set @code{errno}
+upon failure.
+@item
+On Windows, this function returns a file stream in ``text'' mode by default;
+this means that it translates @code{'\n'} to CR/LF by default. Use the
+@code{"b"} flag if you need reliable binary I/O.
+@item
+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 @code{fstat} after @code{open} and
+@code{fdopen}, rather than @code{fopen} and @code{fileno}.
+@end itemize