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);
+  }
+}