]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-118379: Use PyTuple_Pack instead of Py_BuildValue if possible (GH-118381)
authorNice Zombies <nineteendo19d0@gmail.com>
Tue, 30 Apr 2024 14:55:15 +0000 (16:55 +0200)
committerGitHub <noreply@github.com>
Tue, 30 Apr 2024 14:55:15 +0000 (17:55 +0300)
Modules/_decimal/_decimal.c
Modules/_testbuffer.c
Modules/_testcapimodule.c
Modules/_testclinic.c
Modules/posixmodule.c
Python/errors.c

index c105367a2704589ab636baf788fdd065fdcf5d16..fe6711143b845b1d34932964e1cfa1c92f3f7a90 100644 (file)
@@ -4287,7 +4287,7 @@ nm_mpd_qdivmod(PyObject *v, PyObject *w)
         return NULL;
     }
 
-    ret = Py_BuildValue("(OO)", q, r);
+    ret = PyTuple_Pack(2, q, r);
     Py_DECREF(r);
     Py_DECREF(q);
     return ret;
@@ -5312,7 +5312,7 @@ ctx_mpd_qdivmod(PyObject *context, PyObject *args)
         return NULL;
     }
 
-    ret = Py_BuildValue("(OO)", q, r);
+    ret = PyTuple_Pack(2, q, r);
     Py_DECREF(r);
     Py_DECREF(q);
     return ret;
index cad21bdb4d85ed302b40ade2531aaee28d4a549a..9e77744efad728a885690ceed7ce8d953d9c7a82 100644 (file)
@@ -1217,7 +1217,7 @@ init_ndbuf(PyObject *items, PyObject *shape, PyObject *strides,
 
     /* convert scalar to list */
     if (ndim == 0) {
-        items = Py_BuildValue("(O)", items);
+        items = PyTuple_Pack(1, items);
         if (items == NULL)
             return NULL;
     }
index 0bdd252efdabc750f31366725ad5ddf9e9c4eaeb..3448291e401e35759f0e5e964790c701d45f3ed8 100644 (file)
@@ -2475,7 +2475,7 @@ get_basic_static_type(PyObject *self, PyObject *args)
     PyTypeObject *cls = &BasicStaticTypes[num_basic_static_types_used++];
 
     if (base != NULL) {
-        cls->tp_bases = Py_BuildValue("(O)", base);
+        cls->tp_bases = PyTuple_Pack(1, base);
         if (cls->tp_bases == NULL) {
             return NULL;
         }
@@ -3474,7 +3474,7 @@ typedef struct {
 static PyObject *
 ipowType_ipow(PyObject *self, PyObject *other, PyObject *mod)
 {
-    return Py_BuildValue("OO", other, mod);
+    return PyTuple_Pack(2, other, mod);
 }
 
 static PyNumberMethods ipowType_as_number = {
index 454173b434fb6bba01b54d0523f3f3afbd6d0d8e..2e9d00ac2189eb716672ab3e7f34eb4861e476a0 100644 (file)
@@ -1243,7 +1243,7 @@ _testclinic_TestClass_get_defining_class_arg_impl(PyObject *self,
                                                   PyObject *arg)
 /*[clinic end generated code: output=fe7e49d96cbb7718 input=d1b83d3b853af6d9]*/
 {
-    return Py_BuildValue("(OO)", cls, arg);
+    return PyTuple_Pack(2, cls, arg);
 }
 
 static struct PyMethodDef test_class_methods[] = {
index c9d67ccbb8c9089a4e950a17d51ceae6daae8e91..722159a39d098f070f70ba7f1cda5fb574b002e4 100644 (file)
@@ -5500,7 +5500,7 @@ os__path_splitroot_ex_impl(PyObject *module, PyObject *path)
     if (tail == NULL) {
         goto exit;
     }
-    result = Py_BuildValue("(OOO)", drv, root, tail);
+    result = PyTuple_Pack(3, drv, root, tail);
 exit:
     PyMem_Free(buffer);
     Py_XDECREF(drv);
index e5f176a5dd208e4d99f724af4b1db8d21693dee6..433253b8f9aadaf0b821a7890daf6b78a32ab6f8 100644 (file)
@@ -632,8 +632,8 @@ _PyErr_StackItemToExcInfoTuple(_PyErr_StackItem *err_info)
     PyObject *exc_type = get_exc_type(exc_value);
     PyObject *exc_traceback = get_exc_traceback(exc_value);
 
-    return Py_BuildValue(
-        "(OOO)",
+    return PyTuple_Pack(
+        3,
         exc_type ? exc_type : Py_None,
         exc_value ? exc_value : Py_None,
         exc_traceback ? exc_traceback : Py_None);