From 15647d632973d8aafa163f2e19af11b999195853 Mon Sep 17 00:00:00 2001 From: WormHeamer Date: Thu, 1 Jan 2026 18:03:53 -0500 Subject: fix bug in arena_realloc() i don't remember what it was but it broke select_file_in() --- arena.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/arena.h b/arena.h index a5cc3dd..89c92d6 100644 --- a/arena.h +++ b/arena.h @@ -77,9 +77,14 @@ void *arena_alloc(Arena *a, size_t sz, size_t align) { } void *arena_realloc(Arena *a, void *old, size_t oldsz, size_t newsz, size_t align) { - if (old == a->beg - oldsz) a->beg = old; - else if (old) memcpy(a->beg, old, oldsz); - return arena_alloc(a, newsz, align); + if (old == a->beg - oldsz) { + a->beg = (char*)old + newsz; + return old; + } else { + void *p = arena_alloc(a, newsz, align); + if (old) memcpy(p, old, oldsz); + return p; + } } #endif -- cgit v1.2.3