summaryrefslogtreecommitdiff
path: root/arena.h
diff options
context:
space:
mode:
Diffstat (limited to 'arena.h')
-rw-r--r--arena.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/arena.h b/arena.h
index 045cde0..58e26e0 100644
--- a/arena.h
+++ b/arena.h
@@ -39,7 +39,7 @@ void arena_reset(Arena *a);
void arena_reserve(Arena *a, ptrdiff_t n);
void *arena_alloc(Arena *a, ptrdiff_t n, ptrdiff_t align);
-void *arena_realloc(Arena *a, void *ptr, ptrdiff_t old, ptrdiff_t new, ptrdiff_t align);
+void *arena_realloc(Arena *a, void *ptr, ptrdiff_t oldsz, ptrdiff_t newsz, ptrdiff_t align);
void *arena_zeroed(void *p, size_t n);
#define ARENA_BACKEND_MALLOC 0
@@ -107,13 +107,13 @@ void *arena_alloc(Arena *a, ptrdiff_t n, ptrdiff_t align) {
return ptr;
}
-void *arena_realloc(Arena *a, void *ptr, ptrdiff_t old, ptrdiff_t new, ptrdiff_t align) {
- if (a->cur && ptr == a->cur->beg - old && (char*)ptr + new < a->cur->end) {
- a->cur->beg += new - old;
+void *arena_realloc(Arena *a, void *ptr, ptrdiff_t oldsz, ptrdiff_t newsz, ptrdiff_t align) {
+ if (a->cur && ptr == a->cur->beg - oldsz && (char*)ptr + newsz < a->cur->end) {
+ a->cur->beg += newsz - oldsz;
return ptr;
} else {
- void *p = arena_alloc(a, new, align);
- if (ptr) memcpy(p, ptr, old);
+ void *p = arena_alloc(a, newsz, align);
+ if (ptr) memcpy(p, ptr, oldsz);
return p;
}
}