Mercurial
diff dowa/d_memory.c @ 1:adcfad6e86fb
Updated naming and separated out some logic within seobeo.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Wed, 24 Sep 2025 09:11:20 -0700 |
| parents | |
| children | 8a43dedbe530 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dowa/d_memory.c Wed Sep 24 09:11:20 2025 -0700 @@ -0,0 +1,28 @@ +#include "dowa.h" + +// --- Arena --- // +void Dowa_ArenaIntialize(PArena p_arena, size_t capacity) +{ + p_arena = malloc(capacity); + p_arena->offset = 0; + p_arena->capacity = capacity; +} + +void *Dowa_ArenaAllocate(PArena p_arena, size_t size) +{ + if (p_arena->offset + size > p_arena->capacity) + { + return NULL; + } + void *currnet_ptr = p_arena->buffer + p_arena->offset; + p_arena->offset += size; + return currnet_ptr; +} + +void Dowa_ArenaFree(PArena p_arena) +{ + if (p_arena) { + free(p_arena->buffer); + free(p_arena); + } +}