[Python-checkins] cpython (merge 3.5 -> default): merge

raymond.hettinger python-checkins at python.org
Sun Sep 6 02:06:23 CEST 2015


https://hg.python.org/cpython/rev/abc416ca59fc
changeset:   97691:abc416ca59fc
parent:      97689:127ac263354e
parent:      97690:ba63067654d3
user:        Raymond Hettinger <python at rcn.com>
date:        Sat Sep 05 17:06:18 2015 -0700
summary:
  merge

files:
  Modules/_collectionsmodule.c |  16 ++++++++++------
  1 files changed, 10 insertions(+), 6 deletions(-)


diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c
--- a/Modules/_collectionsmodule.c
+++ b/Modules/_collectionsmodule.c
@@ -419,9 +419,11 @@
         deque->rightblock->data[deque->rightindex] = item;
         deque_trim_left(deque);
     }
+    if (PyErr_Occurred()) {
+        Py_DECREF(it);
+        return NULL;
+    }
     Py_DECREF(it);
-    if (PyErr_Occurred())
-        return NULL;
     Py_RETURN_NONE;
 }
 
@@ -480,9 +482,11 @@
         deque->leftblock->data[deque->leftindex] = item;
         deque_trim_right(deque);
     }
+    if (PyErr_Occurred()) {
+        Py_DECREF(it);
+        return NULL;
+    }
     Py_DECREF(it);
-    if (PyErr_Occurred())
-        return NULL;
     Py_RETURN_NONE;
 }
 
@@ -497,8 +501,8 @@
     result = deque_extend(deque, other);
     if (result == NULL)
         return result;
+    Py_INCREF(deque);
     Py_DECREF(result);
-    Py_INCREF(deque);
     return (PyObject *)deque;
 }
 
@@ -1260,8 +1264,8 @@
                                       aslist, ((dequeobject *)deque)->maxlen);
     else
         result = PyUnicode_FromFormat("deque(%R)", aslist);
+    Py_ReprLeave(deque);
     Py_DECREF(aslist);
-    Py_ReprLeave(deque);
     return result;
 }
 

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list