[Cython] More concerns over extern ctypedefs
Dag Sverre Seljebotn
dagss at student.matnat.uio.no
Sat Jul 19 14:14:18 CEST 2008
Consider this code:
cdef extern from "t.h":
ctypedef long hullo
def foo(hullo h): pass
I noticed that it creates code like this:
PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "l", __pyx_argnames,
&__pyx_v_h))
Which could probably destroy the stack if we don't have the exact
typedef, right? Which means: One should either write our own parsing
code instead (generate for each parameter signature), or generate the
typestring at runtime, or insert C checks for the sizeof(the typedefs).
The latter will destroy the current approach for numpy.int64 and friends
and remove what I consider a nice feature.
Just as I took all that care to allow approximate typedefs for buffers :-)
Just noting it down, I suppose for now we'll live with it. But need to
be more careful about recommending approximate typedefs.
--
Dag Sverre
More information about the Cython-dev
mailing list