SWIG question
Brian Zhou
brian_zhouNOSPAM at techie.com
Thu Oct 4 20:20:58 EDT 2001
I want to use SWIG to wrap a C routine that accepting a python string:
>>> c_routine("abc")
and in the c_routine(), I need to get the string pointer and length,
probably using
char *ptr, int size;
PyArg_Parse(str, "s#", &ptr, &size);
I tried:
int routine(PyObject *s) {
char *ptr, int size;
PyArg_Parse(str, "s#", &ptr, &size);
// ...
}
it compiled ok, but when called,
>>> from testmodule import *
>>> p = routine("abc")
Traceback (innermost last):
File "<stdin>", line 1, in ?
File "queue_module.py", line 35, in routine
val = queue_modulec.routine(arg0)
TypeError: Type error in argument 1 of routine. Expected _PyObject_p.
>>>
How should I write the correct C routine?
Thanks for any suggestions.
-Brian
More information about the Python-list
mailing list