Cleanup type_call() to ease debug

It was easy to miss the call to type->tp_init because it was done in a long
conditional expression. Split the long expression in multiple lines to make the
debug step by step easier.
This commit is contained in:
Victor Stinner 2013-07-16 22:51:21 +02:00
parent 1e53bbaced
commit 3997cfdb7f

View file

@ -750,12 +750,14 @@ type_call(PyTypeObject *type, PyObject *args, PyObject *kwds)
if (!PyType_IsSubtype(Py_TYPE(obj), type)) if (!PyType_IsSubtype(Py_TYPE(obj), type))
return obj; return obj;
type = Py_TYPE(obj); type = Py_TYPE(obj);
if (type->tp_init != NULL && if (type->tp_init != NULL) {
type->tp_init(obj, args, kwds) < 0) { int res = type->tp_init(obj, args, kwds);
if (res < 0) {
Py_DECREF(obj); Py_DECREF(obj);
obj = NULL; obj = NULL;
} }
} }
}
return obj; return obj;
} }