diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2017-04-08 08:18:14 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-08 08:18:14 (GMT) |
commit | c26b19d5c7aba51b50a4d7fb5f8291036cb9da24 (patch) | |
tree | afe2017c8c588609b61527577666e340c36fe485 /Objects/listobject.c | |
parent | d0d575a6db8cb3b2a720be9f404af3d754da9a5d (diff) | |
download | cpython-c26b19d5c7aba51b50a4d7fb5f8291036cb9da24.zip cpython-c26b19d5c7aba51b50a4d7fb5f8291036cb9da24.tar.gz cpython-c26b19d5c7aba51b50a4d7fb5f8291036cb9da24.tar.bz2 |
Expand the PySlice_GetIndicesEx macro. (#1023) (#1044)
(cherry picked from commit b879fe82e7e5c3f7673c9a7fa4aad42bd05445d8)
Diffstat (limited to 'Objects/listobject.c')
-rw-r--r-- | Objects/listobject.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Objects/listobject.c b/Objects/listobject.c index cde281a..547bdf0 100644 --- a/Objects/listobject.c +++ b/Objects/listobject.c @@ -2420,10 +2420,11 @@ list_subscript(PyListObject* self, PyObject* item) PyObject* it; PyObject **src, **dest; - if (PySlice_GetIndicesEx(item, Py_SIZE(self), - &start, &stop, &step, &slicelength) < 0) { + if (PySlice_Unpack(item, &start, &stop, &step) < 0) { return NULL; } + slicelength = PySlice_AdjustIndices(Py_SIZE(self), &start, &stop, + step); if (slicelength <= 0) { return PyList_New(0); @@ -2469,10 +2470,11 @@ list_ass_subscript(PyListObject* self, PyObject* item, PyObject* value) else if (PySlice_Check(item)) { Py_ssize_t start, stop, step, slicelength; - if (PySlice_GetIndicesEx(item, Py_SIZE(self), - &start, &stop, &step, &slicelength) < 0) { + if (PySlice_Unpack(item, &start, &stop, &step) < 0) { return -1; } + slicelength = PySlice_AdjustIndices(Py_SIZE(self), &start, &stop, + step); if (step == 1) return list_ass_slice(self, start, stop, value); |