diff options
Diffstat (limited to 'Modules/dlmodule.c')
-rw-r--r-- | Modules/dlmodule.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Modules/dlmodule.c b/Modules/dlmodule.c index 5622ed9..4af7e30 100644 --- a/Modules/dlmodule.c +++ b/Modules/dlmodule.c @@ -107,9 +107,11 @@ dl_call(dlobject *xp, PyObject *args) } for (i = 1; i < n; i++) { PyObject *v = PyTuple_GetItem(args, i); - if (PyInt_Check(v)) + if (PyInt_Check(v)) { alist[i-1] = PyInt_AsLong(v); - else if (PyString_Check(v)) + if (alist[i-1] == -1 && PyErr_Occurred()) + return NULL; + } else if (PyString_Check(v)) alist[i-1] = (long)PyString_AsString(v); else if (v == Py_None) alist[i-1] = (long) ((char *)NULL); |