summaryrefslogtreecommitdiff
path: root/Objects
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-06-18 09:51:55 +0300
committerSerhiy Storchaka <storchaka@gmail.com>2016-06-18 09:51:55 +0300
commitc69f005a552126f1ffff19eccc369201ddf67a58 (patch)
tree1b0b51a1e518ab372f300f61431f327a50b0a790 /Objects
parent58f210b76b9128791152d4bc9431434221439ca9 (diff)
downloadcpython-c69f005a552126f1ffff19eccc369201ddf67a58.tar.gz
Issue #27333: Simplified testing step on 0.
Diffstat (limited to 'Objects')
-rw-r--r--Objects/rangeobject.c15
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;