Simplify calling.

This commit is contained in:
Georg Brandl 2006-05-26 20:22:50 +00:00
parent a89dbec257
commit e4e023c4d3
1 changed files with 2 additions and 8 deletions

View File

@ -1072,21 +1072,15 @@ static PyMappingMethods instance_as_mapping = {
static PyObject * static PyObject *
instance_item(PyInstanceObject *inst, Py_ssize_t i) instance_item(PyInstanceObject *inst, Py_ssize_t i)
{ {
PyObject *func, *arg, *res; PyObject *func, *res;
if (getitemstr == NULL) if (getitemstr == NULL)
getitemstr = PyString_InternFromString("__getitem__"); getitemstr = PyString_InternFromString("__getitem__");
func = instance_getattr(inst, getitemstr); func = instance_getattr(inst, getitemstr);
if (func == NULL) if (func == NULL)
return NULL; return NULL;
arg = Py_BuildValue("(n)", i); res = PyObject_CallFunction(func, "n", i);
if (arg == NULL) {
Py_DECREF(func); Py_DECREF(func);
return NULL;
}
res = PyEval_CallObject(func, arg);
Py_DECREF(func);
Py_DECREF(arg);
return res; return res;
} }