@@ -938,8 +938,7 @@ deque_reverse(dequeobject *deque, PyObject *unused)
938
938
Py_ssize_t n = Py_SIZE (deque ) >> 1 ;
939
939
PyObject * tmp ;
940
940
941
- n ++ ;
942
- while (-- n ) {
941
+ while (-- n >= 0 ) {
943
942
/* Validate that pointers haven't met in the middle */
944
943
assert (leftblock != rightblock || leftindex < rightindex );
945
944
CHECK_NOT_END (leftblock );
@@ -981,8 +980,7 @@ deque_count(dequeobject *deque, PyObject *v)
981
980
PyObject * item ;
982
981
int cmp ;
983
982
984
- n ++ ;
985
- while (-- n ) {
983
+ while (-- n >= 0 ) {
986
984
CHECK_NOT_END (b );
987
985
item = b -> data [index ];
988
986
cmp = PyObject_RichCompareBool (item , v , Py_EQ );
@@ -1019,8 +1017,7 @@ deque_contains(dequeobject *deque, PyObject *v)
1019
1017
PyObject * item ;
1020
1018
int cmp ;
1021
1019
1022
- n ++ ;
1023
- while (-- n ) {
1020
+ while (-- n >= 0 ) {
1024
1021
CHECK_NOT_END (b );
1025
1022
item = b -> data [index ];
1026
1023
cmp = PyObject_RichCompareBool (item , v , Py_EQ );
@@ -1088,13 +1085,13 @@ deque_index(dequeobject *deque, PyObject **args, Py_ssize_t nargs)
1088
1085
}
1089
1086
}
1090
1087
1091
- n = stop - i + 1 ;
1092
- while (-- n ) {
1088
+ n = stop - i ;
1089
+ while (-- n >= 0 ) {
1093
1090
CHECK_NOT_END (b );
1094
1091
item = b -> data [index ];
1095
1092
cmp = PyObject_RichCompareBool (item , v , Py_EQ );
1096
1093
if (cmp > 0 )
1097
- return PyLong_FromSsize_t (stop - n );
1094
+ return PyLong_FromSsize_t (stop - n - 1 );
1098
1095
if (cmp < 0 )
1099
1096
return NULL ;
1100
1097
if (start_state != deque -> state ) {
@@ -1228,16 +1225,14 @@ deque_item(dequeobject *deque, Py_ssize_t i)
1228
1225
i = (Py_ssize_t )((size_t ) i % BLOCKLEN );
1229
1226
if (index < (Py_SIZE (deque ) >> 1 )) {
1230
1227
b = deque -> leftblock ;
1231
- n ++ ;
1232
- while (-- n )
1228
+ while (-- n >= 0 )
1233
1229
b = b -> rightlink ;
1234
1230
} else {
1235
1231
n = (Py_ssize_t )(
1236
1232
((size_t )(deque -> leftindex + Py_SIZE (deque ) - 1 ))
1237
1233
/ BLOCKLEN - n );
1238
1234
b = deque -> rightblock ;
1239
- n ++ ;
1240
- while (-- n )
1235
+ while (-- n >= 0 )
1241
1236
b = b -> leftlink ;
1242
1237
}
1243
1238
}
@@ -1281,16 +1276,14 @@ deque_ass_item(dequeobject *deque, Py_ssize_t i, PyObject *v)
1281
1276
i = (Py_ssize_t )((size_t ) i % BLOCKLEN );
1282
1277
if (index <= halflen ) {
1283
1278
b = deque -> leftblock ;
1284
- n ++ ;
1285
- while (-- n )
1279
+ while (-- n >= 0 )
1286
1280
b = b -> rightlink ;
1287
1281
} else {
1288
1282
n = (Py_ssize_t )(
1289
1283
((size_t )(deque -> leftindex + Py_SIZE (deque ) - 1 ))
1290
1284
/ BLOCKLEN - n );
1291
1285
b = deque -> rightblock ;
1292
- n ++ ;
1293
- while (-- n )
1286
+ while (-- n >= 0 )
1294
1287
b = b -> leftlink ;
1295
1288
}
1296
1289
Py_INCREF (v );
0 commit comments