summaryrefslogtreecommitdiff
path: root/gnulib/doc/posix-functions/rmdir.texi
blob: 4676d18b5bb8def3260603f2faa50d05399cb993 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@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