GH-98363: Slicing isn't necessary. A size reduction will suffice. (GH-98538)

This commit is contained in:
Raymond Hettinger 2022-10-22 07:21:06 -05:00 committed by GitHub
parent f7f55a5b9e
commit 5871e19942
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 7 deletions

View File

@ -167,23 +167,22 @@ batched_next(batchedobject *bo)
null_item:
if (PyErr_Occurred()) {
if (PyErr_ExceptionMatches(PyExc_StopIteration)) {
PyErr_Clear();
} else {
/* input raised an exception other than StopIteration */
if (!PyErr_ExceptionMatches(PyExc_StopIteration)) {
/* Input raised an exception other than StopIteration */
Py_CLEAR(bo->it);
Py_DECREF(result);
return NULL;
}
PyErr_Clear();
}
if (i == 0) {
Py_CLEAR(bo->it);
Py_DECREF(result);
return NULL;
}
PyObject *short_list = PyList_GetSlice(result, 0, i);
Py_DECREF(result);
return short_list;
/* Elements in result[i:] are still NULL */
Py_SET_SIZE(result, i);
return result;
}
static PyTypeObject batched_type = {