diff Python/bltinmodule.c @ 46606:af0ef04401bb

Fix nits in builtin next().
author Georg Brandl <georg@python.org>
date Wed, 30 Apr 2008 19:47:01 +0000
parents b2d93a960b98
children 58a0d5524f9a
line wrap: on
line diff
--- a/Python/bltinmodule.c	Wed Apr 30 17:11:46 2008 +0000
+++ b/Python/bltinmodule.c	Wed Apr 30 19:47:01 2008 +0000
@@ -1048,27 +1048,28 @@
 		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,