diff options
Diffstat (limited to 'gnulib/doc/posix-functions/getcwd.texi')
m--------- | gnulib | 0 | ||||
-rw-r--r-- | gnulib/doc/posix-functions/getcwd.texi | 49 |
2 files changed, 49 insertions, 0 deletions
diff --git a/gnulib b/gnulib deleted file mode 160000 -Subproject 443bc5ffcf7429e557f4a371b0661abe98ddbc1 diff --git a/gnulib/doc/posix-functions/getcwd.texi b/gnulib/doc/posix-functions/getcwd.texi new file mode 100644 index 0000000..5dfba59 --- /dev/null +++ b/gnulib/doc/posix-functions/getcwd.texi @@ -0,0 +1,49 @@ +@node getcwd +@section @code{getcwd} +@findex getcwd + +POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/getcwd.html} + +Gnulib module: getcwd or getcwd-lgpl + +Portability problems fixed by either Gnulib module @code{getcwd} or +@code{getcwd-lgpl}: +@itemize +@item +This function is declared in different header files (namely, @code{<io.h>} or +@code{<direct.h>}) on some platforms: +mingw, MSVC 9. +@item +On glibc platforms, @code{getcwd (NULL, n)} allocates memory for the result. +On some other platforms, this call is not allowed. +@item +On some platforms, the prototype for @code{getcwd} uses @code{int} +instead of @code{size_t} for the size argument when using non-standard +headers, and the declaration is missing from @code{<unistd.h>}: +mingw, MSVC 9. +@item +On some platforms, @code{getcwd (buf, 0)} fails with @code{ERANGE} +instead of the required @code{EINVAL}: +mingw, MSVC 9. +@end itemize + +Portability problems fixed by Gnulib module @code{getcwd}: +@itemize +@item +This function is missing on some older platforms. +@item +This function does not handle long file names (greater than @code{PATH_MAX}) +correctly on some platforms: +glibc on Linux 2.4.20, MacOS X 10.5, FreeBSD 6.4, NetBSD 5.1, OpenBSD 4.9, AIX 7.1. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +When using @code{getcwd(NULL, nonzero)}, some platforms, such as glibc +or cygwin, allocate exactly @code{nonzero} bytes and fail with +@code{ERANGE} if it was not big enough, while other platforms, such as +FreeBSD, mingw, or MSVC 9, ignore the size argument and allocate whatever size +is necessary. If this call succeeds, an application cannot portably +access beyond the string length of the result. +@end itemize |