sic

The sic programming language, compiler and tools (WIP)
Log | Files | Refs

commit 36759530b86ca1ac346997cd45d370fa13d5bc14
parent 49885c39ef3d0b4067d7e4532e4816f79ed42c59
Author: keyle <keyle@capsule.org>
Date:   Thu, 25 Jun 2026 23:04:41 +1000

format

Diffstat:
Msrc/arena.c | 31+++++++++++++++----------------
Msrc/arena.h | 11+++++------
2 files changed, 20 insertions(+), 22 deletions(-)

diff --git a/src/arena.c b/src/arena.c @@ -8,14 +8,14 @@ // not thread safe struct Arena { - uint8_t* buf; + uint8_t *buf; size_t cap; size_t pos; }; -Arena* arena_init(size_t bytes) -{ - Arena* a; +Arena * +arena_init(size_t bytes) { + Arena *a; if (!bytes || bytes == 0) { bytes = 1024; } @@ -36,17 +36,17 @@ Arena* arena_init(size_t bytes) return a; } -static size_t align_to(size_t offset, size_t align) -{ +static size_t +align_to(size_t offset, size_t align) { // align to a power of 2 return (offset + align - 1) & ~(align - 1); } -void* arena_alloc(Arena* a, size_t size, size_t align) -{ +void * +arena_alloc(Arena *a, size_t size, size_t align) { size_t pos, new_cap; - void* ptr; - uint8_t* p; + void *ptr; + uint8_t *p; if (!a) { fprintf(stderr, "arena: no arena given to alloc to\n"); @@ -86,19 +86,18 @@ void* arena_alloc(Arena* a, size_t size, size_t align) ptr = a->buf + pos; a->pos = pos + size; - return (void*)ptr; + return (void *)ptr; } -void arena_reset(Arena* a) -{ +void +arena_reset(Arena *a) { if (!a) return; a->pos = 0; } -void arena_destroy(Arena* a) -{ +void +arena_destroy(Arena *a) { if (!a) return; free(a->buf); free(a); } - diff --git a/src/arena.h b/src/arena.h @@ -3,15 +3,14 @@ #include <stddef.h> #define ARENA_ALLOC(arena, type) \ - ((type*)arena_alloc((arena), sizeof(type), alignof(type))) + ((type *)arena_alloc((arena), sizeof(type), alignof(type))) typedef struct Arena Arena; -Arena* arena_init(size_t bytes); +Arena *arena_init(size_t bytes); -void* arena_alloc(Arena*, size_t size, size_t align); +void *arena_alloc(Arena *, size_t size, size_t align); -void arena_reset(Arena*); - -void arena_destroy(Arena*); +void arena_reset(Arena *); +void arena_destroy(Arena *);