diff options
Diffstat (limited to 'Modules/_collectionsmodule.c')
-rw-r--r-- | Modules/_collectionsmodule.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c index 7d7f0cfc03..28aacc3317 100644 --- a/Modules/_collectionsmodule.c +++ b/Modules/_collectionsmodule.c @@ -864,9 +864,9 @@ deque_remove(dequeobject *deque, PyObject *value) if (cmp > 0) { PyObject *tgt = deque_popleft(deque, NULL); assert (tgt != NULL); - Py_DECREF(tgt); if (_deque_rotate(deque, i) == -1) return NULL; + Py_DECREF(tgt); Py_RETURN_NONE; } else if (cmp < 0) { @@ -956,16 +956,16 @@ static int deque_del_item(dequeobject *deque, Py_ssize_t i) { PyObject *item; + int rv; assert (i >= 0 && i < Py_SIZE(deque)); if (_deque_rotate(deque, -i) == -1) return -1; - item = deque_popleft(deque, NULL); + rv = _deque_rotate(deque, i); assert (item != NULL); Py_DECREF(item); - - return _deque_rotate(deque, i); + return rv; } static int |