How pass array from C to python function

Martin v. Loewis martin at v.loewis.de
Thu Sep 19 20:57:27 CEST 2002


"Praveen Patil" <praveen.patil at silver-software.com> writes:

>     mylist = PyList_New(5);
>     for (count=0; count< 5; count++) {
>           myint = PyInt_FromLong(vital_data[count]);
>           PyList_Append(mylist,myint); 
>     }

That is wrong. PyList_Append increases the list size by one, so the
list will have ten elements at the end; 5 of them will be NULL.

Either start with an empty list, or use PyList_SetItem.

>     arglist = Py_BuildValue("O", mylist);
>     ret = PyEval_CallObject(my_callback , arglist);
>     Py_DECREF(arglist);

I recommend to use PyObject_CallFunction here, although your code is
correct.

> The information contained in this e-mail is confidential

My reply is confidential, too. Don't read it.

Regards,
Martin



More information about the Python-list mailing list