[Python-checkins] cpython: _hashopenssl uses METH_FASTCALL

victor.stinner python-checkins at python.org
Tue Jan 17 09:25:12 EST 2017


https://hg.python.org/cpython/rev/1a97b10cb420
changeset:   106203:1a97b10cb420
user:        Victor Stinner <victor.stinner at gmail.com>
date:        Tue Jan 17 04:20:26 2017 +0100
summary:
  _hashopenssl uses METH_FASTCALL

files:
  Modules/_hashopenssl.c |  10 +++++++---
  1 files changed, 7 insertions(+), 3 deletions(-)


diff --git a/Modules/_hashopenssl.c b/Modules/_hashopenssl.c
--- a/Modules/_hashopenssl.c
+++ b/Modules/_hashopenssl.c
@@ -905,13 +905,17 @@
  */
 #define GEN_CONSTRUCTOR(NAME)  \
     static PyObject * \
-    EVP_new_ ## NAME (PyObject *self, PyObject *args) \
+    EVP_new_ ## NAME (PyObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames) \
     { \
         PyObject *data_obj = NULL; \
         Py_buffer view = { 0 }; \
         PyObject *ret_obj; \
      \
-        if (!PyArg_ParseTuple(args, "|O:" #NAME , &data_obj)) { \
+        if (!_PyArg_ParseStack(args, nargs, "|O:" #NAME , &data_obj)) { \
+            return NULL; \
+        } \
+     \
+        if (!_PyArg_NoStackKeywords(#NAME, kwnames)) { \
             return NULL; \
         } \
      \
@@ -932,7 +936,7 @@
 
 /* a PyMethodDef structure for the constructor */
 #define CONSTRUCTOR_METH_DEF(NAME)  \
-    {"openssl_" #NAME, (PyCFunction)EVP_new_ ## NAME, METH_VARARGS, \
+    {"openssl_" #NAME, (PyCFunction)EVP_new_ ## NAME, METH_FASTCALL, \
         PyDoc_STR("Returns a " #NAME \
                   " hash object; optionally initialized with a string") \
     }

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


More information about the Python-checkins mailing list