diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 2f954a9ce39..92b8d4bbc65 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -409,8 +409,11 @@ PyGAI_Err(int error) { PyObject *v; +#ifdef EAI_SYSTEM + /* EAI_SYSTEM is not available on Windows XP. */ if (error == EAI_SYSTEM) return PySocket_Err(); +#endif #ifdef HAVE_GAI_STRERROR v = Py_BuildValue("(is)", error, gai_strerror(error)); diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h index d1503ba1b45..a59e6f750ca 100644 --- a/Modules/socketmodule.h +++ b/Modules/socketmodule.h @@ -9,8 +9,18 @@ # endif #else /* MS_WINDOWS */ +#if _MSC_VER >= 1300 +# include +# include +# define HAVE_ADDRINFO +# define HAVE_SOCKADDR_STORAGE +# define HAVE_GETADDRINFO +# define HAVE_GETNAMEINFO +# define ENABLE_IPV6 +#else # include #endif +#endif #ifdef HAVE_SYS_UN_H # include diff --git a/PC/pyconfig.h b/PC/pyconfig.h index 6402f1d7b0b..b412f7780be 100644 --- a/PC/pyconfig.h +++ b/PC/pyconfig.h @@ -408,7 +408,11 @@ typedef int pid_t; /* #undef size_t */ /* Define to `int' if doesn't define. */ +#if _MSC_VER + 0 >= 1300 +/* VC.NET typedefs socklen_t in ws2tcpip.h. */ +#else #define socklen_t int +#endif /* Define if you have the ANSI C header files. */ #define STDC_HEADERS 1