Re: [Python-Dev] [Python-checkins] cpython: Issue #9566: Fix a compiler warning in tupleiter_setstate() on Windows x64

On Mon, Jun 24, 2013 at 3:33 PM, victor.stinner <python-checkins@python.org> wrote:
http://hg.python.org/cpython/rev/6b4d279508a3 changeset: 84325:6b4d279508a3 user: Victor Stinner <victor.stinner@gmail.com> date: Mon Jun 24 23:31:48 2013 +0200 summary: Issue #9566: Fix a compiler warning in tupleiter_setstate() on Windows x64
files: Objects/tupleobject.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c --- a/Objects/tupleobject.c +++ b/Objects/tupleobject.c @@ -997,7 +997,7 @@ static PyObject * tupleiter_setstate(tupleiterobject *it, PyObject *state) { - long index = PyLong_AsLong(state); + Py_ssize_t index = PyLong_AsLong(state);
Actually, this will still lose data when state > MAX_INT (on Windows). It should be changed to PyLong_AsSssize_t(state) to ensure consistent behavior on all platforms. -- Jeremy Kloth

Ah yes correct, it should be better with the following commit: http://hg.python.org/cpython/rev/3a393fc86b29 Victor 2013/6/24 Jeremy Kloth <jeremy.kloth@gmail.com>:
On Mon, Jun 24, 2013 at 3:33 PM, victor.stinner <python-checkins@python.org> wrote:
http://hg.python.org/cpython/rev/6b4d279508a3 changeset: 84325:6b4d279508a3 user: Victor Stinner <victor.stinner@gmail.com> date: Mon Jun 24 23:31:48 2013 +0200 summary: Issue #9566: Fix a compiler warning in tupleiter_setstate() on Windows x64 ... static PyObject * tupleiter_setstate(tupleiterobject *it, PyObject *state) { - long index = PyLong_AsLong(state); + Py_ssize_t index = PyLong_AsLong(state);
Actually, this will still lose data when state > MAX_INT (on Windows). It should be changed to PyLong_AsSssize_t(state) to ensure consistent behavior on all platforms.
participants (2)
-
Jeremy Kloth
-
Victor Stinner