[Checkins] SVN: zope.proxy/trunk/src/zope/proxy/ Made compatible
with Python 2.5 on 64 bit architectures. See PEP 353.
Shane Hathaway
shane at hathawaymix.org
Mon Jul 14 10:17:34 EDT 2008
Log message for revision 88347:
Made compatible with Python 2.5 on 64 bit architectures. See PEP 353.
Changed:
U zope.proxy/trunk/src/zope/proxy/_zope_proxy_proxy.c
U zope.proxy/trunk/src/zope/proxy/proxy.h
-=-
Modified: zope.proxy/trunk/src/zope/proxy/_zope_proxy_proxy.c
===================================================================
--- zope.proxy/trunk/src/zope/proxy/_zope_proxy_proxy.c 2008-07-14 13:17:47 UTC (rev 88346)
+++ zope.proxy/trunk/src/zope/proxy/_zope_proxy_proxy.c 2008-07-14 14:17:31 UTC (rev 88347)
@@ -620,14 +620,14 @@
* Sequence methods
*/
-static int
+static Py_ssize_t
wrap_length(PyObject *self)
{
return PyObject_Length(Proxy_GET_OBJECT(self));
}
static PyObject *
-wrap_slice(PyObject *self, int start, int end)
+wrap_slice(PyObject *self, Py_ssize_t start, Py_ssize_t end)
{
PyObject *obj = Proxy_GET_OBJECT(self);
if (PyList_Check(obj)) {
@@ -642,7 +642,7 @@
}
static int
-wrap_ass_slice(PyObject *self, int i, int j, PyObject *value)
+wrap_ass_slice(PyObject *self, Py_ssize_t i, Py_ssize_t j, PyObject *value)
{
PyObject *obj = Proxy_GET_OBJECT(self);
if (PyList_Check(obj)) {
Modified: zope.proxy/trunk/src/zope/proxy/proxy.h
===================================================================
--- zope.proxy/trunk/src/zope/proxy/proxy.h 2008-07-14 13:17:47 UTC (rev 88346)
+++ zope.proxy/trunk/src/zope/proxy/proxy.h 2008-07-14 14:17:31 UTC (rev 88347)
@@ -1,6 +1,17 @@
#ifndef _proxy_H_
#define _proxy_H_ 1
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+#define PY_SSIZE_T_MAX INT_MAX
+#define PY_SSIZE_T_MIN INT_MIN
+typedef Py_ssize_t (*lenfunc)(PyObject *);
+typedef PyObject *(*ssizeargfunc)(PyObject *, Py_ssize_t);
+typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t);
+typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *);
+typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *);
+#endif
+
typedef struct {
PyObject_HEAD
PyObject *proxy_object;
More information about the Checkins
mailing list