bpo-27867: Expand the PySlice_GetIndicesEx macro. (#1023) (#1046)

(cherry picked from commit b879fe8)
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
index d7f75c9..71ffc58 100644
--- a/Modules/_elementtree.c
+++ b/Modules/_elementtree.c
@@ -1334,11 +1334,11 @@
         if (!self->extra)
             return PyList_New(0);
 
-        if (PySlice_GetIndicesEx((PySliceObject *)item,
-                self->extra->length,
-                &start, &stop, &step, &slicelen) < 0) {
+        if (_PySlice_Unpack((PySliceObject *)item, &start, &stop, &step) < 0) {
             return NULL;
         }
+        slicelen = _PySlice_AdjustIndices(self->extra->length, &start, &stop,
+                                         step);
 
         if (slicelen <= 0)
             return PyList_New(0);
@@ -1393,11 +1393,11 @@
         if (!self->extra)
             element_new_extra(self, NULL);
 
-        if (PySlice_GetIndicesEx((PySliceObject *)item,
-                self->extra->length,
-                &start, &stop, &step, &slicelen) < 0) {
+        if (_PySlice_Unpack((PySliceObject *)item, &start, &stop, &step) < 0) {
             return -1;
         }
+        slicelen = _PySlice_AdjustIndices(self->extra->length, &start, &stop,
+                                         step);
         assert(slicelen <= self->extra->length);
 
         if (value == NULL)