I'm sorry...I just woke up and forgot my C...must have left it in the Coffee...Anyway, i made a few mistakes (can't initialize blank tuple...function should return a value, lol).
static PyObject* wrap_doNumberStuff(PyObject* self, PyObject* args) { char* in = 0; char* x = 0; long* result = 0; int i = 0; PyObject* py = NULL; if(!PyArg_ParseTuple(args,"ss",&in,&x) return NULL; result = doNumberStuff(in,x); len = sizeof(result)/sizeof(long); py = PyTuple_New(len); for(i; i < len; i++) PyTuple_SET_ITEM(py, i, Py_BuildValue("l",*result[i]); return py; } Additionally, the Python/C api in the docs tells you all of these nifty little abstract layer functions that you can call from your extension. > All the veteran programmers out there can correct me, but the way I did > it in my extension was this: > > static PyObject *wrap_doNumberStuff(PyObject* self, PyObject* args) > { > char* in = 0; > char* x = 0; > long* result = 0; > int i = 0; > PyObject* py = PyTuple_New() > int ok = PyArg_ParseTuple(args,"ss",&in, &x); > if(!ok) return NULL; > > result = doNumberStuff(in,x): > len = sizeof(result)/sizeof(long) > for(i;i < len; i++) > PyTuple_SET_ITEM(py, i,Py_BuildValue("l",*result[i]) > } > > Simple enough idea...i'm not quite sure if I've done everything > correctly with the pointers, but I'm sure you can figure that out, the > algorithm is simple enough. > ----== Posted via Newsgroups.com - Usenet Access to over 100,000 Newsgroups ==---- Get Anonymous, Uncensored, Access to West and East Coast Server Farms! ----== Highest Retention and Completion Rates! HTTP://WWW.NEWSGROUPS.COM ==---- -- http://mail.python.org/mailman/listinfo/python-list