Mercurial
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 0:5695ef413be0 | 1:adcfad6e86fb |
|---|---|
| 1 #include "dowa.h" | |
| 2 | |
| 3 // --- Arena --- // | |
| 4 void Dowa_ArenaIntialize(PArena p_arena, size_t capacity) | |
| 5 { | |
| 6 p_arena = malloc(capacity); | |
| 7 p_arena->offset = 0; | |
| 8 p_arena->capacity = capacity; | |
| 9 } | |
| 10 | |
| 11 void *Dowa_ArenaAllocate(PArena p_arena, size_t size) | |
| 12 { | |
| 13 if (p_arena->offset + size > p_arena->capacity) | |
| 14 { | |
| 15 return NULL; | |
| 16 } | |
| 17 void *currnet_ptr = p_arena->buffer + p_arena->offset; | |
| 18 p_arena->offset += size; | |
| 19 return currnet_ptr; | |
| 20 } | |
| 21 | |
| 22 void Dowa_ArenaFree(PArena p_arena) | |
| 23 { | |
| 24 if (p_arena) { | |
| 25 free(p_arena->buffer); | |
| 26 free(p_arena); | |
| 27 } | |
| 28 } |