PyArg_ParseTuple help
Qiangning Hong
hongqn at gmail.com
Sun Jul 10 14:18:49 EDT 2005
zyqnews at 163.net wrote:
> hello all,
> how to parse the arguments of a c function with PyArg_ParseTuple?
> The prototype of the c function is :
> int func(unsigned char * in , int inlen, unsigned char * v, unsigned
> char * out, int * outlen);
>
> The problem is , when the func returns, there will be results in out
> and outlen. Is the following format is correct?
As the ``out'' and ``outlen'' are used for output, you should not pass
them to a python function as parameters. Instead, you'd better make the
return value of the python function to represent them (if the python
caller wants them, of course). In your case, returning a python string
object will be a good choice if outlen is the length of out array, since
a python string knows its length.
So, you need only parse the parameters of ``in'', ``inlen'' and ``v'' in
the wrap function. And even further, the python caller can pass a
python string to replace ``in'' and ``inlen''. Then, the prototype of
the function is something like:
def func(ins, v)
which returns a string.
[...]
--
Qiangning Hong
More information about the Python-list
mailing list