bpo-33234: Simplify list_preallocate_exact() (GH-11220)

This commit is contained in:
Sergey Fedoseev 2018-12-30 03:31:36 +05:00 committed by Pablo Galindo
parent d51324a2f5
commit 0e5f771f38
1 changed files with 3 additions and 14 deletions

View File

@ -81,26 +81,15 @@ static int
list_preallocate_exact(PyListObject *self, Py_ssize_t size)
{
assert(self->ob_item == NULL);
assert(size > 0);
PyObject **items;
size_t allocated;
allocated = (size_t)size;
if (allocated > (size_t)PY_SSIZE_T_MAX / sizeof(PyObject *)) {
PyErr_NoMemory();
return -1;
}
if (size == 0) {
allocated = 0;
}
items = (PyObject **)PyMem_New(PyObject*, allocated);
PyObject **items = PyMem_New(PyObject*, size);
if (items == NULL) {
PyErr_NoMemory();
return -1;
}
self->ob_item = items;
self->allocated = allocated;
self->allocated = size;
return 0;
}