diff options
| author | WormHeamer | 2026-01-02 19:52:20 -0500 |
|---|---|---|
| committer | WormHeamer | 2026-01-02 19:52:20 -0500 |
| commit | ecdb6e57fcf3b0d4145eac498073bb181f792b6e (patch) | |
| tree | 3af31c353c1f044780c452c61d2bf61023f7f679 | |
| parent | 6d60c710747cbee755b9f50d88ee7c71096a289f (diff) | |
const params for arena allocation funcs
| -rw-r--r-- | arena.h | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -23,8 +23,8 @@ Arena arena_init(size_t sz); void arena_free(Arena *a); void arena_reset(Arena *a); void *arena_alloc(Arena *a, size_t n, size_t align); -void *arena_realloc(Arena *a, void *old, size_t oldsz, size_t newsz, size_t align); -void *arena_concat(Arena *m, void *a, size_t asz, void *b, size_t bsz, size_t align); +void *arena_realloc(Arena *a, const void *old, size_t oldsz, size_t newsz, size_t align); +void *arena_concat(Arena *m, const void *a, size_t asz, const void *b, size_t bsz, size_t align); #define new(a, t)\ memset(arena_alloc(a, sizeof(t), _Alignof(__typeof__(t))), 0, sizeof(t)) @@ -79,10 +79,10 @@ void *arena_alloc(Arena *a, size_t sz, size_t align) { return p; } -void *arena_realloc(Arena *a, void *old, size_t oldsz, size_t newsz, size_t align) { +void *arena_realloc(Arena *a, const void *old, size_t oldsz, size_t newsz, size_t align) { if (old == a->beg - oldsz) { a->beg = (char*)old + newsz; - return old; + return (void*)old; } else { void *p = arena_alloc(a, newsz, align); if (old) memcpy(p, old, oldsz); @@ -90,11 +90,11 @@ void *arena_realloc(Arena *a, void *old, size_t oldsz, size_t newsz, size_t alig } } -void *arena_concat(Arena *m, void *a, size_t asz, void *b, size_t bsz, size_t align) { +void *arena_concat(Arena *m, const void *a, size_t asz, const void *b, size_t bsz, size_t align) { if (!asz) - return b; + return (void*)b; if (!bsz || (char*)a + asz == b) - return a; + return (void*)a; void *p = arena_realloc(m, a, asz, asz + bsz, align); memcpy((char*)p + asz, b, bsz); return p; |
