mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-16 01:22:18 +03:00
* lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir. * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
36 lines
1022 B
Plaintext
36 lines
1022 B
Plaintext
@node rmdir
|
|
@section @code{rmdir}
|
|
@findex rmdir
|
|
|
|
POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/rmdir.html}
|
|
|
|
Gnulib module: rmdir
|
|
|
|
Portability problems fixed by Gnulib:
|
|
@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
|
|
This function mistakenly removes a directory with
|
|
@code{rmdir("dir/./")} on some platforms:
|
|
Cygwin 1.5.x.
|
|
@item
|
|
This function fails with @code{EINVAL} instead of the expected
|
|
@code{ENOTDIR} for @code{rmdir("file/")} on some platforms:
|
|
mingw, MSVC 9.
|
|
@end itemize
|
|
|
|
Portability problems not fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
When @code{rmdir} fails because the specified directory is not empty, the
|
|
@code{errno} value is system dependent.
|
|
@item
|
|
POSIX requires that @code{rmdir("link-to-empty/")} remove @file{empty}
|
|
and leave @file{link-to-empty} as a dangling symlink. This is
|
|
counter-intuitive, so some systems fail with @code{ENOTDIR} instead:
|
|
glibc
|
|
@end itemize
|