diff options
-rw-r--r-- | Objects/classobject.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/Objects/classobject.c b/Objects/classobject.c index a89366b..2fb16eb 100644 --- a/Objects/classobject.c +++ b/Objects/classobject.c @@ -1072,21 +1072,15 @@ static PyMappingMethods instance_as_mapping = { static PyObject * instance_item(PyInstanceObject *inst, Py_ssize_t i) { - PyObject *func, *arg, *res; + PyObject *func, *res; if (getitemstr == NULL) getitemstr = PyString_InternFromString("__getitem__"); func = instance_getattr(inst, getitemstr); if (func == NULL) return NULL; - arg = Py_BuildValue("(n)", i); - if (arg == NULL) { - Py_DECREF(func); - return NULL; - } - res = PyEval_CallObject(func, arg); + res = PyObject_CallFunction(func, "n", i); Py_DECREF(func); - Py_DECREF(arg); return res; } |