summaryrefslogtreecommitdiffstats
path: root/Modules/_hashopenssl.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-01-17 03:20:26 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2017-01-17 03:20:26 (GMT)
commitaeaf29460889cca7258c19dc942a04294abc3353 (patch)
tree013621d6ff80a63232e026812c04a5067e4640b5 /Modules/_hashopenssl.c
parent5a60ecaa7ac2bf0452da717f95d572bb053c8817 (diff)
downloadcpython-aeaf29460889cca7258c19dc942a04294abc3353.zip
cpython-aeaf29460889cca7258c19dc942a04294abc3353.tar.gz
cpython-aeaf29460889cca7258c19dc942a04294abc3353.tar.bz2
_hashopenssl uses METH_FASTCALL
Diffstat (limited to 'Modules/_hashopenssl.c')
-rw-r--r--Modules/_hashopenssl.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/Modules/_hashopenssl.c b/Modules/_hashopenssl.c
index daa4f3d..4995294 100644
--- a/Modules/_hashopenssl.c
+++ b/Modules/_hashopenssl.c
@@ -905,13 +905,17 @@ generate_hash_name_list(void)
*/
#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 @@ generate_hash_name_list(void)
/* 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") \
}