]> granicus.if.org Git - python/commitdiff
bpo-29548: no longer use PyEval_Call* functions (GH-14683)
authorJeroen Demeyer <J.Demeyer@UGent.be>
Thu, 11 Jul 2019 15:57:32 +0000 (17:57 +0200)
committerInada Naoki <songofacandy@gmail.com>
Thu, 11 Jul 2019 15:57:32 +0000 (00:57 +0900)
Modules/pyexpat.c
Modules/signalmodule.c
Objects/call.c
Python/codecs.c

index 3d193e717c8827d41c1ac2c165b2e42517ba3b2e..b0096e6647808f2c4fa77bc48df133b3747e0fbe 100644 (file)
@@ -208,7 +208,7 @@ call_with_frame(const char *funcname, int lineno, PyObject* func, PyObject* args
 {
     PyObject *res;
 
-    res = PyEval_CallObject(func, args);
+    res = PyObject_Call(func, args, NULL);
     if (res == NULL) {
         _PyTraceback_Add(funcname, __FILE__, lineno);
         XML_StopParser(self->itself, XML_FALSE);
index 7698984ff3afe16b5c58eefee67c51bd691c7d15..95569b931d602049399dbb9508a0806aee7ff0d7 100644 (file)
@@ -1667,8 +1667,7 @@ _PyErr_CheckSignals(void)
             _Py_atomic_store_relaxed(&Handlers[i].tripped, 0);
 
             if (arglist) {
-                result = PyEval_CallObject(Handlers[i].func,
-                                           arglist);
+                result = PyObject_Call(Handlers[i].func, arglist, NULL);
                 Py_DECREF(arglist);
             }
             if (!result) {
index df90595d6c6a530ed7665cfd2292b5faf8039c8f..7d917891bc0cd9f08ffb00a9055450c7ba35b74d 100644 (file)
@@ -457,7 +457,16 @@ PyEval_CallObjectWithKeywords(PyObject *callable,
 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);
 }
 
 
index 75b60ec6bd77d398efde91539ebbac7706dbb637..4f38b33e0b76f16ffe057a23c760eac773201e03 100644 (file)
@@ -416,7 +416,7 @@ _PyCodec_EncodeInternal(PyObject *object,
     if (args == NULL)
         goto onError;
 
-    result = PyEval_CallObject(encoder, args);
+    result = PyObject_Call(encoder, args, NULL);
     if (result == NULL) {
         wrap_codec_error("encoding", encoding);
         goto onError;
@@ -462,7 +462,7 @@ _PyCodec_DecodeInternal(PyObject *object,
     if (args == NULL)
         goto onError;
 
-    result = PyEval_CallObject(decoder,args);
+    result = PyObject_Call(decoder, args, NULL);
     if (result == NULL) {
         wrap_codec_error("decoding", encoding);
         goto onError;