From: Georg Brandl Date: Wed, 30 Apr 2008 19:47:01 +0000 (+0000) Subject: Fix nits in builtin next(). X-Git-Tag: v3.0a5~52 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aaa6392a1270d5d8e3d8f924ca3dff692f150c13;p=thirdparty%2FPython%2Fcpython.git Fix nits in builtin next(). --- diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 199ebc087de8..585059f92f9c 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -1048,27 +1048,28 @@ builtin_next(PyObject *self, PyObject *args) return NULL; if (!PyIter_Check(it)) { PyErr_Format(PyExc_TypeError, - "%.200s object is not an iterator", it->ob_type->tp_name); + "%.200s object is not an iterator", + it->ob_type->tp_name); return NULL; } res = (*it->ob_type->tp_iternext)(it); - if (res == NULL) { - if (def) { - if (PyErr_Occurred() && - !PyErr_ExceptionMatches(PyExc_StopIteration)) + if (res != NULL) { + return res; + } else if (def != NULL) { + if (PyErr_Occurred()) { + if(!PyErr_ExceptionMatches(PyExc_StopIteration)) return NULL; PyErr_Clear(); - Py_INCREF(def); - return def; - } else if (PyErr_Occurred()) { - return NULL; - } else { - PyErr_SetNone(PyExc_StopIteration); - return NULL; } + Py_INCREF(def); + return def; + } else if (PyErr_Occurred()) { + return NULL; + } else { + PyErr_SetNone(PyExc_StopIteration); + return NULL; } - return res; } PyDoc_STRVAR(next_doc,