Py_ssize_t n = Py_SIZE(deque) >> 1;
PyObject *tmp;
- n++;
- while (--n) {
+ while (--n >= 0) {
/* Validate that pointers haven't met in the middle */
assert(leftblock != rightblock || leftindex < rightindex);
CHECK_NOT_END(leftblock);
PyObject *item;
int cmp;
- n++;
- while (--n) {
+ while (--n >= 0) {
CHECK_NOT_END(b);
item = b->data[index];
cmp = PyObject_RichCompareBool(item, v, Py_EQ);
PyObject *item;
int cmp;
- n++;
- while (--n) {
+ while (--n >= 0) {
CHECK_NOT_END(b);
item = b->data[index];
cmp = PyObject_RichCompareBool(item, v, Py_EQ);
}
}
- n = stop - i + 1;
- while (--n) {
+ n = stop - i;
+ while (--n >= 0) {
CHECK_NOT_END(b);
item = b->data[index];
cmp = PyObject_RichCompareBool(item, v, Py_EQ);
if (cmp > 0)
- return PyLong_FromSsize_t(stop - n);
+ return PyLong_FromSsize_t(stop - n - 1);
if (cmp < 0)
return NULL;
if (start_state != deque->state) {
i = (Py_ssize_t)((size_t) i % BLOCKLEN);
if (index < (Py_SIZE(deque) >> 1)) {
b = deque->leftblock;
- n++;
- while (--n)
+ while (--n >= 0)
b = b->rightlink;
} else {
n = (Py_ssize_t)(
((size_t)(deque->leftindex + Py_SIZE(deque) - 1))
/ BLOCKLEN - n);
b = deque->rightblock;
- n++;
- while (--n)
+ while (--n >= 0)
b = b->leftlink;
}
}
i = (Py_ssize_t)((size_t) i % BLOCKLEN);
if (index <= halflen) {
b = deque->leftblock;
- n++;
- while (--n)
+ while (--n >= 0)
b = b->rightlink;
} else {
n = (Py_ssize_t)(
((size_t)(deque->leftindex + Py_SIZE(deque) - 1))
/ BLOCKLEN - n);
b = deque->rightblock;
- n++;
- while (--n)
+ while (--n >= 0)
b = b->leftlink;
}
Py_INCREF(v);