summaryrefslogtreecommitdiff
path: root/src/kmk/kmkbuiltin/mscfakes.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kmk/kmkbuiltin/mscfakes.h')
-rw-r--r--src/kmk/kmkbuiltin/mscfakes.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/kmk/kmkbuiltin/mscfakes.h b/src/kmk/kmkbuiltin/mscfakes.h
index 705a3dc..ec0edb5 100644
--- a/src/kmk/kmkbuiltin/mscfakes.h
+++ b/src/kmk/kmkbuiltin/mscfakes.h
@@ -1,4 +1,4 @@
-/* $Id: mscfakes.h 2413 2010-09-11 17:43:04Z bird $ */
+/* $Id: mscfakes.h 2592 2012-06-17 22:50:38Z bird $ */
/** @file
* Unix fakes for MSC.
*/
@@ -34,19 +34,25 @@
#include <malloc.h>
#include "getopt.h"
+/* Note: Duplicated it config.h.win */
+#include <sys/stat.h>
+#include <io.h>
+#include <direct.h>
#if defined(MSC_DO_64_BIT_IO) && _MSC_VER >= 1400 /* We want 64-bit file lengths here when possible. */
# define off_t __int64
+# undef stat
# define stat _stat64
# define fstat _fstat64
# define lseek _lseeki64
#else
-# undef stat
-# define stat(_path, _st) my_other_stat(_path, _st)
-extern int my_other_stat(const char *, struct stat *);
+# ifndef STAT_REDEFINED_ALREADY
+# define STAT_REDEFINED_ALREADY
+# undef stat
+# define stat(_path, _st) bird_w32_stat(_path, _st)
+extern int bird_w32_stat(const char *, struct stat *);
+# endif
#endif
-
-
#ifndef S_ISDIR
# define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
#endif