}
nbytes = size * sizeof(PyObject *);
/* Check for overflow */
- if (nbytes / sizeof(PyObject *) != (size_t)size) {
+ if (nbytes / sizeof(PyObject *) != (size_t)size)
return PyErr_NoMemory();
- }
if (num_free_lists) {
num_free_lists--;
op = free_lists[num_free_lists];
if (op == NULL)
return NULL;
}
- if (size <= 0) {
+ if (size <= 0)
op->ob_item = NULL;
- }
else {
op->ob_item = (PyObject **) PyMem_MALLOC(nbytes);
- if (op->ob_item == NULL) {
+ if (op->ob_item == NULL)
return PyErr_NoMemory();
- }
memset(op->ob_item, 0, sizeof(*op->ob_item) * size);
}
op->ob_size = size;
return ((PyListObject *)op) -> ob_size;
}
-static PyObject *indexerr;
+static PyObject *indexerr = NULL;
PyObject *
PyList_GetItem(PyObject *op, int i)
int
PyList_Append(PyObject *op, PyObject *newitem)
{
- if (!PyList_Check(op)) {
- PyErr_BadInternalCall();
- return -1;
- }
- if (newitem == NULL) {
- PyErr_BadInternalCall();
- return -1;
- }
- return app1((PyListObject *)op, newitem);
+ if (PyList_Check(op) && (newitem != NULL))
+ return app1((PyListObject *)op, newitem);
+ PyErr_BadInternalCall();
+ return -1;
}
/* Methods */
if (!PyArg_ParseTupleAndKeywords(args, kw, "|O:list", kwlist, &arg))
return -1;
/* Empty previous contents */
+ self->allocated = self->ob_size;
if (self->ob_size != 0) {
if (list_ass_slice(self, 0, self->ob_size, (PyObject *)NULL) != 0)
return -1;