diff options
author | Tim Peters <tim.peters@gmail.com> | 2002-04-22 02:33:27 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2002-04-22 02:33:27 (GMT) |
commit | 51e7f5cabaef2ed6e36412ce933061cfc89a766d (patch) | |
tree | 06467f3dcc84826c81a6862797c9a7c14d96c26d /Python/compile.c | |
parent | a2bc259dd71d53f643db13ac5077fafe9d5bacae (diff) | |
download | cpython-51e7f5cabaef2ed6e36412ce933061cfc89a766d.zip cpython-51e7f5cabaef2ed6e36412ce933061cfc89a766d.tar.gz cpython-51e7f5cabaef2ed6e36412ce933061cfc89a766d.tar.bz2 |
Moving pymalloc along.
+ Redirect PyMem_{Del, DEL} to the object allocator's free() when
pymalloc is enabled. Needed so old extensions can continue to
mix PyObject_New with PyMem_DEL.
+ This implies that pgen needs to be able to see the PyObject_XYZ
declarations too. pgenheaders.h now includes Python.h. An
implication is that I expect obmalloc.o needs to get linked into
pgen on non-Windows boxes.
+ When PYMALLOC_DEBUG is defined, *all* Py memory API functions
now funnel through the debug allocator wrapper around pymalloc.
This is the default in a debug build.
+ That caused compile.c to fail: it indirectly mixed PyMem_Malloc
with raw platform free() in one place. This is verbotten.
Diffstat (limited to 'Python/compile.c')
-rw-r--r-- | Python/compile.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Python/compile.c b/Python/compile.c index 4340522..373363f 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -1954,7 +1954,7 @@ com_factor(struct compiling *c, node *n) return; } if (childtype == MINUS) { - char *s = malloc(strlen(STR(pnum)) + 2); + char *s = PyMem_Malloc(strlen(STR(pnum)) + 2); if (s == NULL) { com_error(c, PyExc_MemoryError, ""); com_addbyte(c, 255); @@ -1962,7 +1962,7 @@ com_factor(struct compiling *c, node *n) } s[0] = '-'; strcpy(s + 1, STR(pnum)); - free(STR(pnum)); + PyMem_Free(STR(pnum)); STR(pnum) = s; } com_atom(c, patom); |