summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
Diffstat (limited to 'Objects')
-rw-r--r--Objects/call.c13
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);
+ }
}