From: Victor Stinner Date: Mon, 24 Jun 2013 21:59:24 +0000 (+0200) Subject: Issue #9566: More long/Py_ssize_t fixes in tuple and list iterators (it_index) X-Git-Tag: v3.4.0a1~394 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7660b880a583442af8ad9d5c91ce608abd4b9654;p=thirdparty%2FPython%2Fcpython.git Issue #9566: More long/Py_ssize_t fixes in tuple and list iterators (it_index) --- diff --git a/Objects/listobject.c b/Objects/listobject.c index 4cc34b5a3c33..0c82cc40ecac 100644 --- a/Objects/listobject.c +++ b/Objects/listobject.c @@ -2660,7 +2660,7 @@ PyTypeObject PyList_Type = { 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 @@ listiter_reduce(listiterobject *it) 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 @@ listiter_reduce_general(void *_it, int forward) 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 index de43ee4bdf69..52896b791970 100644 --- a/Objects/tupleobject.c +++ b/Objects/tupleobject.c @@ -988,7 +988,7 @@ static PyObject * 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 @@ tupleiter_reduce(tupleiterobject *it) 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) {