summaryrefslogtreecommitdiff
path: root/Objects/methodobject.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2016-08-25 00:04:09 +0200
committerVictor Stinner <victor.stinner@gmail.com>2016-08-25 00:04:09 +0200
commit74319ae219e049ae78897513b897c513f2d06445 (patch)
treed33588f2a4330c62f340ec51b9f4655b4a6d7fd7 /Objects/methodobject.c
parentc532b3c1cebdbdb2aac8dc3d2be3904d754aee9c (diff)
downloadcpython-git-74319ae219e049ae78897513b897c513f2d06445.tar.gz
Use Py_ssize_t type for number of arguments
Issue #27848: use Py_ssize_t rather than C int for the number of function positional and keyword arguments.
Diffstat (limited to 'Objects/methodobject.c')
-rw-r--r--Objects/methodobject.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/Objects/methodobject.c b/Objects/methodobject.c
index edb2fc013c..394f1f4502 100644
--- a/Objects/methodobject.c
+++ b/Objects/methodobject.c
@@ -146,15 +146,20 @@ PyCFunction_Call(PyObject *func, PyObject *args, PyObject *kwds)
}
PyObject *
-_PyCFunction_FastCallDict(PyObject *func_obj, PyObject **args, int nargs,
+_PyCFunction_FastCallDict(PyObject *func_obj, PyObject **args, Py_ssize_t nargs,
PyObject *kwargs)
{
- PyCFunctionObject* func = (PyCFunctionObject*)func_obj;
+ PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
PyCFunction meth = PyCFunction_GET_FUNCTION(func);
PyObject *self = PyCFunction_GET_SELF(func);
PyObject *result;
int flags;
+ assert(func != NULL);
+ assert(nargs >= 0);
+ assert(nargs == 0 || args != NULL);
+ assert(kwargs == NULL || PyDict_Check(kwargs));
+
/* _PyCFunction_FastCallDict() must not be called with an exception set,
because it may clear it (directly or indirectly) and so the
caller loses its exception */