From cf848f2e37935e4c433cf97f3ca4c50b5b3bc9b9 Mon Sep 17 00:00:00 2001 From: LaEntropiaa Date: Fri, 3 Apr 2026 15:57:54 -0600 Subject: [PATCH] refactor: Changed Result types return sytaxis --- include/arena.h | 3 ++ src/arena.c | 79 +++++++++---------------------------------------- 2 files changed, 17 insertions(+), 65 deletions(-) diff --git a/include/arena.h b/include/arena.h index ac9bb1b..189bb8b 100644 --- a/include/arena.h +++ b/include/arena.h @@ -60,4 +60,7 @@ ArenaErr arena_ensure_capacity(Arena *arena, size_t size, size_t alignment); bool mul_size_t_safe(size_t a, size_t b, size_t *out); + + + #endif // !ARENA_H diff --git a/src/arena.c b/src/arena.c index 39bd69c..9613e0b 100644 --- a/src/arena.c +++ b/src/arena.c @@ -7,20 +7,12 @@ ArenaResult arena_init(size_t capacity) { if (capacity < 1) { - ArenaResult err = { - .is_valid = false, - .err = ARENA_INVALID_SIZE, - }; - return err; + return (ArenaResult) {.is_valid = false, .err = ARENA_INVALID_SIZE}; } void *buffer = malloc(capacity); if (buffer == NULL) { - ArenaResult err = { - .is_valid = false, - .err = ARENA_BAD_ALLOC, - }; - return err; + return (ArenaResult) {.is_valid = false, .err = ARENA_BAD_ALLOC}; } Arena new_arena = { @@ -28,12 +20,8 @@ ArenaResult arena_init(size_t capacity) { .capacity = capacity, .offset = 0, }; - ArenaResult val = { - .is_valid = true, - .arena = new_arena, - }; - return val; + return (ArenaResult) {.is_valid = true, .arena = new_arena}; } void arena_destroy(Arena *arena) { @@ -45,47 +33,27 @@ void arena_destroy(Arena *arena) { ArenaPointer arena_alloc(Arena *arena, size_t size, size_t alignment) { if (arena == NULL) { - ArenaPointer err = { - .is_valid = false, - .err = ARENA_NULL_ARG, - }; - return err; + return (ArenaPointer) {.is_valid = false, .err = ARENA_NULL_ARG}; } SizeResult padding = get_arena_align_padding(arena, alignment); if (!padding.is_valid) { - ArenaPointer err = { - .is_valid = false, - .err = padding.err, - }; - return err; + return (ArenaPointer) {.is_valid = false, .err = padding.err}; } if (arena->offset + padding.val >= arena->capacity) { - ArenaPointer err = { - .is_valid = false, - .err = ARENA_OUT_OF_SPACE, - }; - return err; + return (ArenaPointer) {.is_valid = false, .err = ARENA_OUT_OF_SPACE}; } if (arena->offset > SIZE_MAX - padding.val - size) { - ArenaPointer err = { - .is_valid = false, - .err = ARENA_CAPACITY_OVERFLOW, - }; - return err; + return (ArenaPointer) {.is_valid = false, .err = ARENA_CAPACITY_OVERFLOW}; } size_t aligned_offset = arena->offset + padding.val; arena->offset = aligned_offset + size; - ArenaPointer val = { - .is_valid = true, - .address = arena->buffer + aligned_offset, - }; - return val; + return (ArenaPointer) {.is_valid = true, .address = arena->buffer + aligned_offset}; } ArenaErr arena_ensure_capacity(Arena *arena, size_t size, size_t alignment) { @@ -122,20 +90,12 @@ ArenaErr arena_ensure_capacity(Arena *arena, size_t size, size_t alignment) { ArenaPointer arena_push(Arena *arena, void *data, size_t size, size_t alignment) { if (arena == NULL || data == NULL) { - ArenaPointer bad_pointer = { - .is_valid = false, - .err = ARENA_NULL_ARG, - }; - return bad_pointer; + return (ArenaPointer) {.is_valid = false, .err = ARENA_NULL_ARG}; } ArenaErr err = arena_ensure_capacity(arena, size, alignment); if (err != ARENA_OK) { - ArenaPointer bad_pointer = { - .is_valid = false, - .err = err, - }; - return bad_pointer; + return (ArenaPointer) {.is_valid = false, .err = err}; } ArenaPointer pointer = arena_alloc(arena, size, alignment); @@ -168,28 +128,17 @@ ArenaErr arena_realloc(Arena *arena, size_t new_capacity) { SizeResult get_arena_align_padding(Arena *arena, size_t alignment) { if (arena == NULL) { - SizeResult err = { - .is_valid = false, - .err = ARENA_NULL_ARG, - }; - return err; + return (SizeResult) {.is_valid = false, .err = ARENA_NULL_ARG}; } if (alignment < 1) { - SizeResult err = { - .is_valid = false, - .err = ARENA_INVALID_ALIGN, - }; - return err; + return (SizeResult) {.is_valid = false, .err = ARENA_INVALID_ALIGN}; } uintptr_t current_address = (uintptr_t) (arena->buffer + arena->offset); uintptr_t aligned = ((current_address + (alignment - 1)) & ~(alignment - 1)); - SizeResult val = { - .is_valid = true, - .val = aligned - current_address, - }; - return val; + + return (SizeResult) {.is_valid = true, .err = aligned - current_address}; } bool mul_size_t_safe(size_t a, size_t b, size_t *out) {