[Python-checkins] cpython: Add _PyObject_VaCallFunctionObjArgs() private function

victor.stinner python-checkins at python.org
Thu Dec 8 20:16:59 EST 2016


https://hg.python.org/cpython/rev/6e748eb79038
changeset:   105542:6e748eb79038
user:        Victor Stinner <victor.stinner at gmail.com>
date:        Fri Dec 09 00:40:33 2016 +0100
summary:
  Add _PyObject_VaCallFunctionObjArgs() private function

Issue #28915: Similar to _PyObject_CallFunctionObjArgs() but use va_list to
pass arguments.

files:
  Include/abstract.h |   6 ++++++
  Objects/abstract.c |  10 +++++-----
  2 files changed, 11 insertions(+), 5 deletions(-)


diff --git a/Include/abstract.h b/Include/abstract.h
--- a/Include/abstract.h
+++ b/Include/abstract.h
@@ -437,6 +437,12 @@
 PyAPI_FUNC(PyObject *) PyObject_CallFunctionObjArgs(PyObject *callable,
                                                     ...);
 
+#ifndef Py_LIMITED_API
+PyAPI_FUNC(PyObject *) _PyObject_VaCallFunctionObjArgs(
+    PyObject *callable,
+    va_list vargs);
+#endif
+
   /*
 Call the method named 'name' of object 'obj' with a variable number of
 C arguments.  The C arguments are provided as PyObject *
diff --git a/Objects/abstract.c b/Objects/abstract.c
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -2706,8 +2706,8 @@
     return retval;
 }
 
-static PyObject *
-_PyObject_FastCallVa(PyObject *callable, va_list vargs)
+PyObject *
+_PyObject_VaCallFunctionObjArgs(PyObject *callable, va_list vargs)
 {
     PyObject *small_stack[5];
     PyObject **stack;
@@ -2773,7 +2773,7 @@
     }
 
     va_start(vargs, name);
-    result = _PyObject_FastCallVa(callable, vargs);
+    result = _PyObject_VaCallFunctionObjArgs(callable, vargs);
     va_end(vargs);
 
     Py_DECREF(callable);
@@ -2797,7 +2797,7 @@
     }
 
     va_start(vargs, name);
-    result = _PyObject_FastCallVa(callable, vargs);
+    result = _PyObject_VaCallFunctionObjArgs(callable, vargs);
     va_end(vargs);
 
     Py_DECREF(callable);
@@ -2811,7 +2811,7 @@
     PyObject *result;
 
     va_start(vargs, callable);
-    result = _PyObject_FastCallVa(callable, vargs);
+    result = _PyObject_VaCallFunctionObjArgs(callable, vargs);
     va_end(vargs);
 
     return result;

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list