[Cython] Bug in NULL handling introduced 0.14.1-1
Greg Ewing
greg.ewing at canterbury.ac.nz
Mon Feb 14 07:50:03 CET 2011
Chris Colbert wrote:
> changing the include definition to:
>
> cdef extern from "Python.h":
> int PyObject_GenericSetAttr(PyObject*, PyObject*, PyObject*) except -1
This suggests another possible workaround:
cdef extern from "Python.h":
int PyObject_GenericDelAttr "PyObject_GenericSetAttr" (object, object,
PyObject*)
This creates an alias for PyObject_GenericSetAttr with a different
signature, which you then call as
PyObject_GenericDelAttr(obj, name, NULL)
If you're willing to write a tiny bit of C, you could make this tidier
by using a .h file containing
#define PyObject_GenericDelAttr(obj, name) PyObject_GenericSetAttr(obj, name, NULL)
and then declare PyObject_GenericDelAttr to Cython with just two
arguments.
Maybe Cython should include something like this in its standard preamble,
along with similar macros for other NULL-taking API functions.
--
Greg
More information about the cython-devel
mailing list