From b306d7594ff0ed5ba666dbb26491a269abfbc9d7 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 7 Oct 2010 22:09:40 +0000 Subject: Fix fileutils for Windows * 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 --- Python/fileutils.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'Python/fileutils.c') diff --git a/Python/fileutils.c b/Python/fileutils.c index 0e87860e52..5d018670e5 100644 --- a/Python/fileutils.c +++ b/Python/fileutils.c @@ -1,4 +1,7 @@ #include "Python.h" +#ifdef MS_WINDOWS +# include +#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 -- cgit v1.2.1