bpo-29548: no longer use PyEval_Call* functions (GH-14683)
diff --git a/Objects/call.c b/Objects/call.c
index df90595..7d91789 100644
--- a/Objects/call.c
+++ b/Objects/call.c
@@ -457,7 +457,16 @@
PyObject *
PyObject_CallObject(PyObject *callable, PyObject *args)
{
- return PyEval_CallObjectWithKeywords(callable, args, NULL);
+ assert(!PyErr_Occurred());
+ if (args == NULL) {
+ return _PyObject_CallNoArg(callable);
+ }
+ if (!PyTuple_Check(args)) {
+ PyErr_SetString(PyExc_TypeError,
+ "argument list must be a tuple");
+ return NULL;
+ }
+ return PyObject_Call(callable, args, NULL);
}