From: Serhiy Storchaka Date: Sat, 18 Jun 2016 06:51:55 +0000 (+0300) Subject: Issue #27333: Simplified testing step on 0. X-Git-Tag: v3.6.0a3~124 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5d062d7ba34068bed20e8b7486f9973bfafcd203;p=thirdparty%2FPython%2Fcpython.git Issue #27333: Simplified testing step on 0. --- diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c index f3ef44cd3628..284a1008d244 100644 --- a/Objects/rangeobject.c +++ b/Objects/rangeobject.c @@ -29,17 +29,10 @@ validate_step(PyObject *step) return PyLong_FromLong(1); step = PyNumber_Index(step); - if (step) { - Py_ssize_t istep = PyNumber_AsSsize_t(step, NULL); - if (istep == -1 && PyErr_Occurred()) { - /* Ignore OverflowError, we know the value isn't 0. */ - PyErr_Clear(); - } - else if (istep == 0) { - PyErr_SetString(PyExc_ValueError, - "range() arg 3 must not be zero"); - Py_CLEAR(step); - } + if (step && _PyLong_Sign(step) == 0) { + PyErr_SetString(PyExc_ValueError, + "range() arg 3 must not be zero"); + Py_CLEAR(step); } return step;