]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fix fileutils for Windows
authorVictor Stinner <victor.stinner@haypocalc.com>
Thu, 7 Oct 2010 22:09:40 +0000 (22:09 +0000)
committerVictor Stinner <victor.stinner@haypocalc.com>
Thu, 7 Oct 2010 22:09:40 +0000 (22:09 +0000)
 * Don't define _Py_wstat() on Windows, Windows has its own _wstat() function
   with a different API (the stat buffer has another type)
 * Include windows.h

Include/fileutils.h
Python/fileutils.c

index 2971d9d1a306cd8d7b237c26862395b1ef8e6b0c..9b2d34dc8902f1fea38455381236a73eb6487810 100644 (file)
@@ -11,7 +11,7 @@ PyAPI_FUNC(wchar_t *) _Py_char2wchar(
 PyAPI_FUNC(char*) _Py_wchar2char(
     const wchar_t *text);
 
-#if defined(MS_WINDOWS) || defined(HAVE_STAT)
+#if defined(HAVE_STAT) && !defined(MS_WINDOWS)
 PyAPI_FUNC(int) _Py_wstat(
     const wchar_t* path,
     struct stat *buf);
index 0e87860e52a8aced6348c686b7dff92a926ac7c5..5d018670e5072f7e0ed06e2bf38bf3396fab6ff6 100644 (file)
@@ -1,4 +1,7 @@
 #include "Python.h"
+#ifdef MS_WINDOWS
+#  include <windows.h>
+#endif
 
 #ifdef HAVE_STAT
 
@@ -183,10 +186,6 @@ _Py_wchar2char(const wchar_t *text)
     return result;
 }
 
-#if defined(MS_WINDOWS) || defined(HAVE_STAT)
-int
-_Py_wstat(const wchar_t* path, struct stat *buf)
-{
 /* In principle, this should use HAVE__WSTAT, and _wstat
    should be detected by autoconf. However, no current
    POSIX system provides that function, so testing for
@@ -194,9 +193,10 @@ _Py_wstat(const wchar_t* path, struct stat *buf)
    Not sure whether the MS_WINDOWS guards are necessary:
    perhaps for cygwin/mingw builds?
 */
-#ifdef MS_WINDOWS
-    return _wstat(path, buf);
-#else
+#if defined(HAVE_STAT) && !defined(MS_WINDOWS)
+int
+_Py_wstat(const wchar_t* path, struct stat *buf)
+{
     int err;
     char *fname;
     fname = _Py_wchar2char(path);
@@ -207,7 +207,6 @@ _Py_wstat(const wchar_t* path, struct stat *buf)
     err = stat(fname, buf);
     PyMem_Free(fname);
     return err;
-#endif
 }
 #endif