]> sjero.net Git - wget/blobdiff - src/mswindows.h
[svn] Only define symbols in config-compiler.h, don't include headers.
[wget] / src / mswindows.h
index 948d98396ef78fa57f7b5023adb7b3d737d67b3a..34352877074103b3707011f199435446bbd168ff 100644 (file)
@@ -84,16 +84,28 @@ typedef __int64 wgint;
 #define WGINT_MAX LL (9223372036854775807)
 
 /* str_to_wgint is a function with the semantics of strtol, but which
-   works on wgint.  Since wgint is unconditionally 64-bit on Windows,
-   we #define it to str_to_int64, which either calls _strtoi64 or
-   implements the conversion manually.  */
-#define str_to_wgint str_to_int64
+   works on wgint.  */
+#if defined HAVE_STRTOLL
+# define str_to_wgint strtoll
+#elif defined HAVE__STRTOI64
+# define str_to_wgint _strtoi64
+#else
 __int64 str_to_int64 (const char *, char **, int);
+# define str_to_wgint str_to_int64
+#endif
 
 /* Windows has no symlink, therefore no lstat.  Without symlinks lstat
    is equivalent to stat anyway.  */
 #define lstat stat
 
+/* Define LFS aliases for stat and fstat. */
+#ifdef stat_alias
+# define stat(f, b) stat_alias (f, b)
+#endif
+#ifdef fstat_alias
+# define fstat(f, b) fstat_alias (f, b)
+#endif
+
 #define PATH_SEPARATOR '\\'
 
 /* Win32 doesn't support the MODE argument to mkdir.  */
@@ -105,6 +117,11 @@ __int64 str_to_int64 (const char *, char **, int);
 const char *inet_ntop (int, const void *, char *, socklen_t);
 #endif
 
+#ifdef NEED_GAI_STRERROR
+# undef gai_strerror
+# define gai_strerror windows_strerror
+#endif
+
 #ifndef INHIBIT_WRAP
 
 /* Winsock functions don't set errno, so we provide wrappers that do. */