[Checkins] SVN: Acquisition/trunk/src/Acquisition/_Acquisition.c Define a FORMAT_N macro and use it wherever a python int needs to be built from a Py_ssize_t variable
Martijn Pieters
mj at zopatista.com
Sat Aug 8 09:29:47 EDT 2009
Log message for revision 102577:
Define a FORMAT_N macro and use it wherever a python int needs to be built from a Py_ssize_t variable
Changed:
U Acquisition/trunk/src/Acquisition/_Acquisition.c
-=-
Modified: Acquisition/trunk/src/Acquisition/_Acquisition.c
===================================================================
--- Acquisition/trunk/src/Acquisition/_Acquisition.c 2009-08-08 13:27:27 UTC (rev 102576)
+++ Acquisition/trunk/src/Acquisition/_Acquisition.c 2009-08-08 13:29:47 UTC (rev 102577)
@@ -31,6 +31,7 @@
#define UNLESS_ASSIGN(V,E) ASSIGN(V,E); UNLESS(V)
#define OBJECT(O) ((PyObject*)(O))
+#define FORMAT_N "n"
#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
typedef int Py_ssize_t;
typedef Py_ssize_t (*lenfunc)(PyObject *);
@@ -40,6 +41,7 @@
typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *);
#define PY_SSIZE_T_MAX INT_MAX
#define PY_SSIZE_T_MIN INT_MIN
+#define FORMAT_N "i"
#endif
static PyObject *py__add__, *py__sub__, *py__mul__, *py__div__,
@@ -874,20 +876,20 @@
static PyObject *
Wrapper_mul(Wrapper *self, Py_ssize_t n)
{
- return CallMethodO(OBJECT(self),py__mul__,Build("(i)", n),NULL);
+ return CallMethodO(OBJECT(self),py__mul__,Build("(" FORMAT_N ")", n),NULL);
}
static PyObject *
Wrapper_item(Wrapper *self, Py_ssize_t i)
{
- return CallMethodO(OBJECT(self),py__getitem__, Build("(i)", i),NULL);
+ return CallMethodO(OBJECT(self),py__getitem__, Build("(" FORMAT_N ")", i),NULL);
}
static PyObject *
Wrapper_slice(Wrapper *self, Py_ssize_t ilow, Py_ssize_t ihigh)
{
return CallMethodO(OBJECT(self),py__getslice__,
- Build("(nn)", ilow, ihigh),NULL);
+ Build("(" FORMAT_N FORMAT_N ")", ilow, ihigh),NULL);
}
static int
@@ -896,13 +898,13 @@
if (v)
{
UNLESS(v=CallMethodO(OBJECT(self),py__setitem__,
- Build("(iO)", i, v),NULL))
+ Build("(" FORMAT_N "O)", i, v),NULL))
return -1;
}
else
{
UNLESS(v=CallMethodO(OBJECT(self),py__delitem__,
- Build("(i)", i),NULL))
+ Build("(" FORMAT_N ")", i),NULL))
return -1;
}
Py_DECREF(v);
@@ -915,13 +917,13 @@
if (v)
{
UNLESS(v=CallMethodO(OBJECT(self),py__setslice__,
- Build("(iiO)", ilow, ihigh, v),NULL))
+ Build("(" FORMAT_N FORMAT_N "O)", ilow, ihigh, v),NULL))
return -1;
}
else
{
UNLESS(v=CallMethodO(OBJECT(self),py__delslice__,
- Build("(ii)", ilow, ihigh),NULL))
+ Build("(" FORMAT_N FORMAT_N ")", ilow, ihigh),NULL))
return -1;
}
Py_DECREF(v);
More information about the Checkins
mailing list