Source
--- ancient_c.c
+++ ancient_c.c
static inline int
area_append (area *a, const void *obj, size_t size)
{
+ void *ptr;
while (a->n + size > a->size) {
if (a->size == 0) a->size = 256; else a->size <<= 1;
- a->ptr =
+ ptr =
a->realloc
? a->realloc (a->data, a->ptr, a->size)
: realloc (a->ptr, a->size);
- if (a->ptr == 0) return -1; // Out of memory.
+ if (ptr == 0) return -1; // Out of memory.
+ a->ptr = ptr;
}
memcpy (a->ptr + a->n, obj, size);
a->n += size;