From: Neil Schemenauer Date: Fri, 22 Mar 2002 15:28:30 +0000 (+0000) Subject: Add pymalloc object memory management functions. These must be X-Git-Tag: v2.3c1~6406 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a1a9c51a3ef06614413f45d51e65588bcd0793f2;p=python Add pymalloc object memory management functions. These must be available even if pymalloc is disabled since extension modules might use them. --- diff --git a/Objects/object.c b/Objects/object.c index 1602e893c9..494e840237 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -2109,3 +2109,27 @@ void _PyMalloc_Free(void *p) PyMem_FREE(p); } #endif /* !WITH_PYMALLOC */ + +PyObject *_PyMalloc_New(PyTypeObject *tp) +{ + PyObject *op; + op = (PyObject *) _PyMalloc_MALLOC(_PyObject_SIZE(tp)); + if (op == NULL) + return PyErr_NoMemory(); + return PyObject_INIT(op, tp); +} + +PyVarObject *_PyMalloc_NewVar(PyTypeObject *tp, int nitems) +{ + PyVarObject *op; + const size_t size = _PyObject_VAR_SIZE(tp, nitems); + op = (PyVarObject *) _PyMalloc_MALLOC(size); + if (op == NULL) + return (PyVarObject *)PyErr_NoMemory(); + return PyObject_INIT_VAR(op, tp, nitems); +} + +void _PyMalloc_Del(PyObject *op) +{ + _PyMalloc_FREE(op); +}