@node rmdir @section @code{rmdir} @findex rmdir POSIX specification:@* @url{https://pubs.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{} or @code{}) 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