changeset 15748:d919e1c7fe74

mkdir: Tweak for MSVC 9. * lib/sys_stat.in.h: Update comments. * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
author Bruno Haible <bruno@clisp.org>
date Fri, 23 Sep 2011 12:46:14 +0200
parents 8b004292ccfc
children 7299cd35d17f
files ChangeLog doc/posix-functions/mkdir.texi lib/sys_stat.in.h
diffstat 3 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2011-09-23  Bruno Haible  <bruno@clisp.org>
 
+	mkdir: Tweak for MSVC 9.
+	* lib/sys_stat.in.h: Update comments.
+	* doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
+
 	Tests for module 'chdir'.
 	* modules/chdir-tests: New file.
 	* tests/test-chdir.c: New file.
--- a/doc/posix-functions/mkdir.texi
+++ b/doc/posix-functions/mkdir.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
 When the argument ends in a slash, the function call fails on some platforms.
 @item
 This function mistakenly succeeds on @samp{mkdir("d/./",mode)} on
--- a/lib/sys_stat.in.h
+++ b/lib/sys_stat.in.h
@@ -55,10 +55,11 @@
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
 /* Before doing "#define mkdir rpl_mkdir" below, we need to include all
-   headers that may declare mkdir().  */
+   headers that may declare mkdir().  Native Windows platforms declare mkdir
+   in <io.h> and/or <direct.h>, not in <unistd.h>.  */
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 # include <io.h>     /* mingw32, mingw64 */
-# include <direct.h> /* mingw64 */
+# include <direct.h> /* mingw64, MSVC 9 */
 #endif
 
 #ifndef S_IFIFO