diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2016-06-18 09:51:55 +0300 |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2016-06-18 09:51:55 +0300 |
commit | c69f005a552126f1ffff19eccc369201ddf67a58 (patch) | |
tree | 1b0b51a1e518ab372f300f61431f327a50b0a790 /Objects | |
parent | 58f210b76b9128791152d4bc9431434221439ca9 (diff) | |
download | cpython-c69f005a552126f1ffff19eccc369201ddf67a58.tar.gz |
Issue #27333: Simplified testing step on 0.
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/rangeobject.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c index f3ef44cd36..284a1008d2 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; |