I am writing my own function that returns multiple Python objects
PyObject *V = PyList_New(0);
PyObject *E = PyList_New(0);
PyObject *F = PyList_New(0);
return Py_BuildValue("ooo", V, E, F);
This compiles, however, when I call it from a Python program, I get an error message:
SystemError: failed char format passed to Py_BuildValue
How can this be done correctly?
EDIT: Next Works
PyObject *rslt = PyTuple_New(3);
PyTuple_SetItem(rslt, 0, V);
PyTuple_SetItem(rslt, 1, E);
PyTuple_SetItem(rslt, 2, F);
return rslt;
However, is there a shorter way to do this?
source
share