]> granicus.if.org Git - python/commitdiff
Switch the state variable to unsigned for defined wrap-around behavior.
authorRaymond Hettinger <python@rcn.com>
Tue, 3 Mar 2015 06:47:46 +0000 (22:47 -0800)
committerRaymond Hettinger <python@rcn.com>
Tue, 3 Mar 2015 06:47:46 +0000 (22:47 -0800)
Modules/_collectionsmodule.c

index 2546c59fcd89f770b65c4621836181597f95bb4d..96049f3f6788b0b5712c64bb3e9b30ed52d7e64b 100644 (file)
@@ -62,7 +62,7 @@ typedef struct {
     block *rightblock;
     Py_ssize_t leftindex;       /* in range(BLOCKLEN) */
     Py_ssize_t rightindex;      /* in range(BLOCKLEN) */
-    long state;                 /* incremented whenever the indices move */
+    size_t state;               /* incremented whenever the indices move */
     Py_ssize_t maxlen;
     PyObject *weakreflist; /* List of weak references */
 } dequeobject;
@@ -692,8 +692,8 @@ deque_count(dequeobject *deque, PyObject *v)
     Py_ssize_t n = Py_SIZE(deque);
     Py_ssize_t i;
     Py_ssize_t count = 0;
+    size_t start_state = deque->state;
     PyObject *item;
-    long start_state = deque->state;
     int cmp;
 
     for (i=0 ; i<n ; i++) {
@@ -1257,7 +1257,7 @@ typedef struct {
     Py_ssize_t index;
     block *b;
     dequeobject *deque;
-    long state;         /* state when the iterator is created */
+    size_t state;          /* state when the iterator is created */
     Py_ssize_t counter;    /* number of items remaining for iteration */
 } dequeiterobject;