Seg fault in python extension module
Luke Miller
dodgyville at gmail.com
Fri Jun 2 19:51:02 EDT 2006
Hello,
I am working on my first python module based on a c program. The
module builds and installs OK using dist-utils, and imports fine into
python. However, when I try and use the one wrapper
("modgl.glVertex4f(1, 2, 3, 1)") in the module, it seg faults.
Can anyone spot why this isn't working, or recommend a way to debug
these things.
Thanks,
Luke
#include <Python.h>
static PyObject *_wrap_glVertex4f(PyObject *self, PyObject *args) {
PyObject *resultobj = NULL;
float arg1 ;
float arg2 ;
float arg3 ;
float arg4 ;
PyObject * obj0 = 0 ;
PyObject * obj1 = 0 ;
PyObject * obj2 = 0 ;
PyObject * obj3 = 0 ;
if(!PyArg_ParseTuple(args,(char
*)"OOOO:glVertex4f",&obj0,&obj1,&obj2,&obj3)) goto fail;
{
arg1 = (float)(PyFloat_AsDouble(obj0));
}
{
arg2 = (float)(PyFloat_AsDouble(obj1));
}
{
arg3 = (float)(PyFloat_AsDouble(obj2));
}
{
arg4 = (float)(PyFloat_AsDouble(obj3));
}
glVertex4f(arg1,arg2,arg3,arg4);
Py_INCREF(Py_None); resultobj = Py_None;
return resultobj;
fail:
return NULL;
};
static PyMethodDef modglMethods[] = {
{ (char *)"glVertex4f", _wrap_glVertex4f, METH_VARARGS, NULL},
{ NULL, NULL, 0, NULL }
};
PyMODINIT_FUNC modgl(void)
{
(void) Py_InitModule("modgl", modglMethods);
};
int
main(int argc, char *argv[])
{
/* Pass argv[0] to the Python interpreter */
Py_SetProgramName(argv[0]);
/* Initialize the Python interpreter. Required. */
Py_Initialize();
/* Add a static module */
initmodgl();
return 0;
};
More information about the Python-list
mailing list