diff options
-rw-r--r-- | Include/pythonrun.h | 2 | ||||
-rw-r--r-- | Modules/errnomodule.c | 2 | ||||
-rw-r--r-- | Modules/socketmodule.c | 4 | ||||
-rw-r--r-- | Modules/socketmodule.h | 26 | ||||
-rw-r--r-- | PC/VC6/_socket.dsp | 4 | ||||
-rw-r--r-- | PC/VC6/pythoncore.dsp | 4 | ||||
-rwxr-xr-x | PC/msvcrtmodule.c | 12 | ||||
-rw-r--r-- | PC/pyconfig.h | 7 |
8 files changed, 35 insertions, 26 deletions
diff --git a/Include/pythonrun.h b/Include/pythonrun.h index c5635ba..b2b3afd 100644 --- a/Include/pythonrun.h +++ b/Include/pythonrun.h @@ -153,7 +153,7 @@ PyAPI_DATA(PyThreadState*) _PyOS_ReadlineTState; to a 8k margin. */ #define PYOS_STACK_MARGIN 2048 -#if defined(WIN32) && !defined(MS_WIN64) && defined(_MSC_VER) +#if defined(WIN32) && !defined(MS_WIN64) && defined(_MSC_VER) && _MSC_VER >= 1300 /* Enable stack checking under Microsoft C */ #define USE_STACKCHECK #endif diff --git a/Modules/errnomodule.c b/Modules/errnomodule.c index 696d396..642d721 100644 --- a/Modules/errnomodule.c +++ b/Modules/errnomodule.c @@ -5,7 +5,7 @@ /* Windows socket errors (WSA*) */ #ifdef MS_WINDOWS -#include <winsock.h> +#include <windows.h> #endif /* diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index e956831..e4c8ac8 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -2805,7 +2805,7 @@ PyDoc_STRVAR(shutdown_doc, Shut down the reading side of the socket (flag == SHUT_RD), the writing side\n\ of the socket (flag == SHUT_WR), or both ends (flag == SHUT_RDWR)."); -#ifdef MS_WINDOWS +#if defined(MS_WINDOWS) && defined(SIO_RCVALL) static PyObject* sock_ioctl(PySocketSockObject *s, PyObject *arg) { @@ -2858,7 +2858,7 @@ static PyMethodDef sock_methods[] = { METH_NOARGS, getsockname_doc}, {"getsockopt", (PyCFunction)sock_getsockopt, METH_VARARGS, getsockopt_doc}, -#ifdef MS_WINDOWS +#if defined(MS_WINDOWS) && defined(SIO_RCVALL) {"ioctl", (PyCFunction)sock_ioctl, METH_VARARGS, sock_ioctl_doc}, #endif diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h index 285c1fe..44483cb 100644 --- a/Modules/socketmodule.h +++ b/Modules/socketmodule.h @@ -13,19 +13,23 @@ # endif #else /* MS_WINDOWS */ -#if _MSC_VER >= 1300 # include <winsock2.h> # include <ws2tcpip.h> -# include <MSTcpIP.h> /* for SIO_RCVALL */ -# define HAVE_ADDRINFO -# define HAVE_SOCKADDR_STORAGE -# define HAVE_GETADDRINFO -# define HAVE_GETNAMEINFO -# define ENABLE_IPV6 -#else -# include <winsock.h> -#endif -#endif +/* VC6 is shipped with old platform headers, and does not have MSTcpIP.h + * Separate SDKs have all the functions we want, but older ones don't have + * any version information. I use IPPROTO_IPV6 to detect a decent SDK. + */ +# ifdef IPPROTO_IPV6 +# include <MSTcpIP.h> /* for SIO_RCVALL */ +# define HAVE_ADDRINFO +# define HAVE_SOCKADDR_STORAGE +# define HAVE_GETADDRINFO +# define HAVE_GETNAMEINFO +# define ENABLE_IPV6 +# else +typedef int socklen_t; +# endif /* IPPROTO_IPV6 */ +#endif /* MS_WINDOWS */ #ifdef HAVE_SYS_UN_H # include <sys/un.h> diff --git a/PC/VC6/_socket.dsp b/PC/VC6/_socket.dsp index 85d2bf0..4e84055 100644 --- a/PC/VC6/_socket.dsp +++ b/PC/VC6/_socket.dsp @@ -54,7 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /base:"0x1e1D0000" /subsystem:windows /dll /debug /machine:I386 /out:"./_socket.pyd"
+# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib /nologo /base:"0x1e1D0000" /subsystem:windows /dll /debug /machine:I386 /out:"./_socket.pyd"
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "_socket - Win32 Debug"
@@ -82,7 +82,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /base:"0x1e1D0000" /subsystem:windows /dll /debug /machine:I386 /out:"./_socket_d.pyd" /pdbtype:sept
+# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib /nologo /base:"0x1e1D0000" /subsystem:windows /dll /debug /machine:I386 /out:"./_socket_d.pyd" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ENDIF
diff --git a/PC/VC6/pythoncore.dsp b/PC/VC6/pythoncore.dsp index 992f816..1fc2a38 100644 --- a/PC/VC6/pythoncore.dsp +++ b/PC/VC6/pythoncore.dsp @@ -97,6 +97,10 @@ SOURCE=..\..\Modules\_bisectmodule.c # End Source File
# Begin Source File
+SOURCE=..\..\Modules\_bytesio.c
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Modules\cjkcodecs\_codecs_cn.c
# End Source File
# Begin Source File
diff --git a/PC/msvcrtmodule.c b/PC/msvcrtmodule.c index e110ed8..95e369b 100755 --- a/PC/msvcrtmodule.c +++ b/PC/msvcrtmodule.c @@ -143,6 +143,7 @@ msvcrt_getch(PyObject *self, PyObject *args) return PyString_FromStringAndSize(s, 1); } +#ifdef _WCONIO_DEFINED static PyObject * msvcrt_getwch(PyObject *self, PyObject *args) { @@ -158,6 +159,7 @@ msvcrt_getwch(PyObject *self, PyObject *args) u[0] = ch; return PyUnicode_FromUnicode(u, 1); } +#endif static PyObject * msvcrt_getche(PyObject *self, PyObject *args) @@ -175,6 +177,7 @@ msvcrt_getche(PyObject *self, PyObject *args) return PyString_FromStringAndSize(s, 1); } +#ifdef _WCONIO_DEFINED static PyObject * msvcrt_getwche(PyObject *self, PyObject *args) { @@ -190,6 +193,7 @@ msvcrt_getwche(PyObject *self, PyObject *args) s[0] = ch; return PyUnicode_FromUnicode(s, 1); } +#endif static PyObject * msvcrt_putch(PyObject *self, PyObject *args) @@ -204,7 +208,7 @@ msvcrt_putch(PyObject *self, PyObject *args) return Py_None; } - +#ifdef _WCONIO_DEFINED static PyObject * msvcrt_putwch(PyObject *self, PyObject *args) { @@ -223,6 +227,7 @@ msvcrt_putwch(PyObject *self, PyObject *args) Py_RETURN_NONE; } +#endif static PyObject * msvcrt_ungetch(PyObject *self, PyObject *args) @@ -238,6 +243,7 @@ msvcrt_ungetch(PyObject *self, PyObject *args) return Py_None; } +#ifdef _WCONIO_DEFINED static PyObject * msvcrt_ungetwch(PyObject *self, PyObject *args) { @@ -251,6 +257,7 @@ msvcrt_ungetwch(PyObject *self, PyObject *args) Py_INCREF(Py_None); return Py_None; } +#endif static void insertint(PyObject *d, char *name, int value) @@ -279,11 +286,12 @@ static struct PyMethodDef msvcrt_functions[] = { {"getche", msvcrt_getche, METH_VARARGS}, {"putch", msvcrt_putch, METH_VARARGS}, {"ungetch", msvcrt_ungetch, METH_VARARGS}, +#ifdef _WCONIO_DEFINED {"getwch", msvcrt_getwch, METH_VARARGS}, {"getwche", msvcrt_getwche, METH_VARARGS}, {"putwch", msvcrt_putwch, METH_VARARGS}, {"ungetwch", msvcrt_ungetwch, METH_VARARGS}, - +#endif {NULL, NULL} }; diff --git a/PC/pyconfig.h b/PC/pyconfig.h index 98d79ad..93dbc09 100644 --- a/PC/pyconfig.h +++ b/PC/pyconfig.h @@ -467,13 +467,6 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ /* Define to `unsigned' if <sys/types.h> doesn't define. */ /* #undef size_t */ -/* Define to `int' if <sys/types.h> 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 |