Enable malloc assertions

This commit is contained in:
Erik van der Kouwe 2010-04-28 08:34:19 +00:00
parent 1b7de33a68
commit 8e918c407a

View file

@ -1,7 +1,7 @@
/* $Header$ */ /* $Header$ */
/* replace undef by define */ /* replace undef by define */
#undef DEBUG /* check assertions */ #define DEBUG /* check assertions */
#undef SLOWDEBUG /* some extra test loops (requires DEBUG) */ #undef SLOWDEBUG /* some extra test loops (requires DEBUG) */
#ifndef DEBUG #ifndef DEBUG
@ -179,7 +179,7 @@ free(void *ptr)
if (p == 0) if (p == 0)
return; return;
assert(NextSlot(p) > p); assert((char *) NextSlot(p) > p);
for (prev = 0, next = _empty; next != 0; prev = next, next = NextFree(next)) for (prev = 0, next = _empty; next != 0; prev = next, next = NextFree(next))
if (p < next) if (p < next)
break; break;
@ -189,14 +189,14 @@ free(void *ptr)
else else
_empty = p; _empty = p;
if (next) { if (next) {
assert(NextSlot(p) <= next); assert((char *) NextSlot(p) <= next);
if (NextSlot(p) == next) { /* merge p and next */ if (NextSlot(p) == next) { /* merge p and next */
NextSlot(p) = NextSlot(next); NextSlot(p) = NextSlot(next);
NextFree(p) = NextFree(next); NextFree(p) = NextFree(next);
} }
} }
if (prev) { if (prev) {
assert(NextSlot(prev) <= p); assert((char *) NextSlot(prev) <= p);
if (NextSlot(prev) == p) { /* merge prev and p */ if (NextSlot(prev) == p) { /* merge prev and p */
NextSlot(prev) = NextSlot(p); NextSlot(prev) = NextSlot(p);
NextFree(prev) = NextFree(p); NextFree(prev) = NextFree(p);