changeset 15745:b26e6ff6bd06

rmdir: Support for mingw, MSVC 9. * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir. * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
author Bruno Haible <bruno@clisp.org>
date Fri, 23 Sep 2011 12:08:40 +0200
parents fed0e9994e29
children 60062069d7ed
files ChangeLog doc/posix-functions/rmdir.texi lib/unistd.in.h
diffstat 3 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2011-09-23  Bruno Haible  <bruno@clisp.org>
 
+	rmdir: Support for mingw, MSVC 9.
+	* lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
+	* doc/posix-functions/getcwd.texi: Mention problem on native Windows.
+
 	getcwd: Tweak for MSVC 9.
 	* lib/unistd.in.h: Update comments.
 	* doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
--- a/doc/posix-functions/rmdir.texi
+++ b/doc/posix-functions/rmdir.texi
@@ -9,6 +9,10 @@
 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.
--- a/lib/unistd.in.h
+++ b/lib/unistd.in.h
@@ -83,9 +83,9 @@
 # include <stdlib.h>
 #endif
 
-/* Native Windows platforms declare getcwd in
+/* Native Windows platforms declare getcwd, rmdir in
    <io.h> and/or <direct.h>, not in <unistd.h>.  */
-#if ((@GNULIB_GETCWD@ || defined GNULIB_POSIXCHECK) \
+#if ((@GNULIB_GETCWD@ || @GNULIB_RMDIR@ || defined GNULIB_POSIXCHECK) \
      && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
 # include <io.h>     /* mingw32, mingw64 */
 # include <direct.h> /* mingw64, MSVC 9 */