Branch
Hash :
c36a0f21
Author :
Date :
2024-10-27T17:01:29
doc: Add a module index. * doc/Makefile (undocumented-modules.texi): New rule. (%.info, %.html, %.dvi, %.pdf): Depend on undocumented-modules.texi. (mostlyclean): Remove also *.m and *.tmp. (force): New rule. * doc/*.texi: Add module index entries. * doc/*/*.texi: Likewise.
@node rmdir
@subsection @code{rmdir}
@findex rmdir
POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/functions/rmdir.html}
Gnulib module: rmdir
@mindex 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 14.
@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 14.
@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