From b276e3b05dee01396d7703cced6e3b75e05caec3 Mon Sep 17 00:00:00 2001 From: Daniele Varrazzo Date: Mon, 3 Jan 2011 19:14:40 +0100 Subject: [PATCH] Fixed compiling on Python versions before 2.6 Added a few macros not defined in Py 2.4. Don't know about 2.5. --- psycopg/bytes_format.c | 4 ++++ psycopg/python.h | 5 +++++ psycopg/typecast.c | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/psycopg/bytes_format.c b/psycopg/bytes_format.c index 3c64f4ae..6d12d6c7 100644 --- a/psycopg/bytes_format.c +++ b/psycopg/bytes_format.c @@ -80,6 +80,10 @@ #define PSYCOPG_MODULE #include "psycopg/psycopg.h" +#ifndef Py_LOCAL_INLINE +#define Py_LOCAL_INLINE(type) static type +#endif + /* Helpers for formatstring */ Py_LOCAL_INLINE(PyObject *) diff --git a/psycopg/python.h b/psycopg/python.h index 25dbd31b..c3f9a0d1 100644 --- a/psycopg/python.h +++ b/psycopg/python.h @@ -62,6 +62,11 @@ #define PyVarObject_HEAD_INIT(x,n) PyObject_HEAD_INIT(x) n, #endif +/* Missing at least in Python 2.4 */ +#ifndef Py_MEMCPY +#define Py_MEMCPY memcpy +#endif + /* FORMAT_CODE_PY_SSIZE_T is for Py_ssize_t: */ #define FORMAT_CODE_PY_SSIZE_T "%" PY_FORMAT_SIZE_T "d" diff --git a/psycopg/typecast.c b/psycopg/typecast.c index c321609f..484ce45e 100644 --- a/psycopg/typecast.c +++ b/psycopg/typecast.c @@ -438,7 +438,7 @@ typecast_repr(PyObject *self) } rv = PyString_FromFormat("<%s '%s' at %p>", - Py_TYPE(self)->tp_name, PyBytes_AS_STRING(name), self); + Py_TYPE(self)->tp_name, Bytes_AS_STRING(name), self); Py_DECREF(name); return rv;