diff --git a/SWIG/Lib/python/pyhead.swg b/SWIG/Lib/python/pyhead.swg index c9534a6ae..8451337e3 100644 --- a/SWIG/Lib/python/pyhead.swg +++ b/SWIG/Lib/python/pyhead.swg @@ -4,7 +4,7 @@ /* Add PyOS_snprintf for old Pythons */ #if PY_VERSION_HEX < 0x02020000 # if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM) -# define PyOS_snprintf _snprintf +# define PyOS_snprintf _snprintf # else # define PyOS_snprintf snprintf # endif @@ -14,7 +14,7 @@ #if PY_VERSION_HEX < 0x02020000 #ifndef SWIG_PYBUFFER_SIZE -#define SWIG_PYBUFFER_SIZE 1024 +# define SWIG_PYBUFFER_SIZE 1024 #endif static PyObject * @@ -25,32 +25,46 @@ PyString_FromFormat(const char *fmt, ...) { va_start(ap, fmt); res = vsnprintf(buf, sizeof(buf), fmt, ap); va_end(ap); - return (res < 0 || res >= sizeof(buf)) ? 0 : PyString_FromString(buf); + return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf); } #endif /* Add PyObject_Del for old Pythons */ #if PY_VERSION_HEX < 0x01060000 -#define PyObject_Del(op) PyMem_DEL((op)) +# define PyObject_Del(op) PyMem_DEL((op)) #endif #ifndef PyObject_DEL -#define PyObject_DEL PyObject_Del +# define PyObject_DEL PyObject_Del #endif /* A crude PyExc_StopIteration exception for old Pythons */ #if PY_VERSION_HEX < 0x02020000 -#define PyExc_StopIteration PyExc_RuntimeError -#define PyObject_GenericGetAttr 0 -#define Py_NotImplemented PyExc_RuntimeError +# ifndef PyExc_StopIteration +# define PyExc_StopIteration PyExc_RuntimeError +# endif +# ifndef PyObject_GenericGetAttr +# define PyObject_GenericGetAttr 0 +# endif +#endif +/* Py_NotImplemented is defined in 2.1 and up. */ +#if PY_VERSION_HEX < 0x02010000 +# ifndef Py_NotImplemented +# define Py_NotImplemented PyExc_RuntimeError +# endif #endif /* A crude PyString_AsStringAndSize implementation for old Pythons */ #if PY_VERSION_HEX < 0x02010000 -#define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;} +# ifndef PyString_AsStringAndSize +# define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;} +# endif #endif +/* PySequence_Size for old Pythons */ #if PY_VERSION_HEX < 0x02000000 -#define PySequence_Size PySequence_Length +# ifndef PySequence_Size +# define PySequence_Size PySequence_Length +# endif #endif