[Python-checkins] cpython: Issue #9566: More long/Py_ssize_t fixes in tuple and list iterators (it_index)

victor.stinner python-checkins at python.org
Mon Jun 24 23:59:39 CEST 2013


http://hg.python.org/cpython/rev/3a393fc86b29
changeset:   84329:3a393fc86b29
user:        Victor Stinner <victor.stinner at gmail.com>
date:        Mon Jun 24 23:59:24 2013 +0200
summary:
  Issue #9566: More long/Py_ssize_t fixes in tuple and list iterators (it_index)

files:
  Objects/listobject.c  |  6 +++---
  Objects/tupleobject.c |  4 ++--
  2 files changed, 5 insertions(+), 5 deletions(-)


diff --git a/Objects/listobject.c b/Objects/listobject.c
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -2660,7 +2660,7 @@
 
 typedef struct {
     PyObject_HEAD
-    long it_index;
+    Py_ssize_t it_index;
     PyListObject *it_seq; /* Set to NULL when iterator is exhausted */
 } listiterobject;
 
@@ -2797,7 +2797,7 @@
 static PyObject *
 listiter_setstate(listiterobject *it, PyObject *state)
 {
-    long index = PyLong_AsLong(state);
+    Py_ssize_t index = PyLong_AsSsize_t(state);
     if (index == -1 && PyErr_Occurred())
         return NULL;
     if (it->it_seq != NULL) {
@@ -2958,7 +2958,7 @@
     if (forward) {
         listiterobject *it = (listiterobject *)_it;
         if (it->it_seq)
-            return Py_BuildValue("N(O)l", _PyObject_GetBuiltin("iter"),
+            return Py_BuildValue("N(O)n", _PyObject_GetBuiltin("iter"),
                                  it->it_seq, it->it_index);
     } else {
         listreviterobject *it = (listreviterobject *)_it;
diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c
--- a/Objects/tupleobject.c
+++ b/Objects/tupleobject.c
@@ -988,7 +988,7 @@
 tupleiter_reduce(tupleiterobject *it)
 {
     if (it->it_seq)
-        return Py_BuildValue("N(O)l", _PyObject_GetBuiltin("iter"),
+        return Py_BuildValue("N(O)n", _PyObject_GetBuiltin("iter"),
                              it->it_seq, it->it_index);
     else
         return Py_BuildValue("N(())", _PyObject_GetBuiltin("iter"));
@@ -997,7 +997,7 @@
 static PyObject *
 tupleiter_setstate(tupleiterobject *it, PyObject *state)
 {
-    Py_ssize_t index = PyLong_AsLong(state);
+    Py_ssize_t index = PyLong_AsSsize_t(state);
     if (index == -1 && PyErr_Occurred())
         return NULL;
     if (it->it_seq != NULL) {

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


More information about the Python-checkins mailing list