Mercurial > hg > octave-kai > gnulib-hg
view doc/posix-functions/getcwd.texi @ 16416:7d97985fae86
Tests for module 'remainderl'.
* modules/remainderl-tests: New file.
* tests/test-remainderl.c: New file.
* tests/test-math-c++.cc: Check the declaration of remainderl.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 25 Feb 2012 20:40:44 +0100 |
parents | 80ff47677300 |
children | 498a2211d839 |
line wrap: on
line source
@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