diff options
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/call.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Objects/call.c b/Objects/call.c index 310b4a2..a4af816 100644 --- a/Objects/call.c +++ b/Objects/call.c @@ -766,11 +766,7 @@ PyEval_CallObjectWithKeywords(PyObject *callable, assert(!PyErr_Occurred()); #endif - if (args == NULL) { - return _PyObject_FastCallDict(callable, NULL, 0, kwargs); - } - - if (!PyTuple_Check(args)) { + if (args != NULL && !PyTuple_Check(args)) { PyErr_SetString(PyExc_TypeError, "argument list must be a tuple"); return NULL; @@ -782,7 +778,12 @@ PyEval_CallObjectWithKeywords(PyObject *callable, return NULL; } - return PyObject_Call(callable, args, kwargs); + if (args == NULL) { + return _PyObject_FastCallDict(callable, NULL, 0, kwargs); + } + else { + return PyObject_Call(callable, args, kwargs); + } } |