diff dowa/d_memory.c @ 65:ecb6ee6a22c3

[Misc] I will no longer drink cool aids of capital P.
author June Park <parkjune1995@gmail.com>
date Wed, 24 Dec 2025 06:22:59 -0800
parents a30944e5719e
children 75de5903355c
line wrap: on
line diff
--- a/dowa/d_memory.c	Tue Dec 23 15:18:46 2025 -0800
+++ b/dowa/d_memory.c	Wed Dec 24 06:22:59 2025 -0800
@@ -1,9 +1,9 @@
 #include "dowa.h"
 
 // --- Arena --- //
-Dowa_PArena Dowa_Arena_Create(size_t capacity)
+Dowa_Arena *Dowa_Arena_Create(size_t capacity)
 {
-  Dowa_PArena p_arena = malloc(sizeof(Dowa_Arena));
+  Dowa_Arena *p_arena = malloc(sizeof(Dowa_Arena));
   if (p_arena == NULL)
   {
     perror("malloc");
@@ -21,7 +21,7 @@
   return p_arena;
 }
 
-void *Dowa_Arena_Allocate(Dowa_PArena p_arena, size_t size)
+void *Dowa_Arena_Allocate(Dowa_Arena *p_arena, size_t size)
 {
   if (!p_arena || !p_arena->buffer || size == 0)
     return NULL;
@@ -35,7 +35,7 @@
   return currnet_ptr;
 }
 
-void Dowa_Arena_Destroy(Dowa_PArena p_arena)
+void Dowa_Arena_Destroy(Dowa_Arena *p_arena)
 {
   if (!p_arena) return;
 
@@ -44,7 +44,7 @@
   Dowa_Free(p_arena);
 }
 
-void *Dowa_Arena_Copy(Dowa_PArena p_arena, const void *src, size_t size)
+void *Dowa_Arena_Copy(Dowa_Arena *p_arena, const void *src, size_t size)
 {
   if (p_arena == NULL || src == NULL || size == 0)
     return NULL;
@@ -57,28 +57,28 @@
   return dest;
 }
 
-void Dowa_Arena_Reset(Dowa_PArena p_arena)
+void Dowa_Arena_Reset(Dowa_Arena *p_arena)
 {
   if (!p_arena) return;
   p_arena->offset = 0;
 }
 
-size_t Dowa_Arena_Get_Used(Dowa_PArena p_arena)
+size_t Dowa_Arena_Get_Used(Dowa_Arena *p_arena)
 {
   if (!p_arena) return 0;
   return p_arena->offset;
 }
 
-size_t Dowa_Arena_Get_Remaining(Dowa_PArena p_arena)
+size_t Dowa_Arena_Get_Remaining(Dowa_Arena *p_arena)
 {
   if (!p_arena) return 0;
   return p_arena->capacity - p_arena->offset;
 }
 
 // --- HashMap --- //
-Dowa_PHashMap Dowa_HashMap_Create(size_t capacity)
+Dowa_HashMap *Dowa_HashMap_Create(size_t capacity)
 {
-  Dowa_PHashMap p_hash_map;
+  Dowa_HashMap *p_hash_map;
   p_hash_map = malloc(sizeof(Dowa_HashMap));
   if (p_hash_map == NULL)
   {
@@ -96,7 +96,7 @@
   return p_hash_map;
 }
 
-Dowa_PHashMap Dowa_HashMap_Create_With_Arena(size_t capacity, Dowa_PArena p_arena)
+Dowa_HashMap *Dowa_HashMap_Create_With_Arena(size_t capacity, Dowa_Arena *p_arena)
 {
   if (p_arena == NULL)
   {
@@ -104,7 +104,7 @@
     return Dowa_HashMap_Create(capacity);
   }
 
-  Dowa_PHashMap p_hash_map;
+  Dowa_HashMap *p_hash_map;
   p_hash_map = Dowa_Arena_Allocate(p_arena, sizeof(Dowa_HashMap));
   if (p_hash_map == NULL)
   {
@@ -122,7 +122,7 @@
   return p_hash_map;
 }
 
-void Dowa_HashMap_Destroy(Dowa_PHashMap p_hash_map)
+void Dowa_HashMap_Destroy(Dowa_HashMap *p_hash_map)
 {
   if (!p_hash_map) return;
 
@@ -134,8 +134,8 @@
   }
   else
   {
-    Dowa_PHashEntry entry;
-    Dowa_PHashEntry next;
+    Dowa_HashEntry *entry;
+    Dowa_HashEntry *next;
     if (p_hash_map->entries)
     {
       for (int idx=0; idx<p_hash_map->capacity; idx++)
@@ -156,7 +156,7 @@
   Dowa_Free(p_hash_map);
 }
 
-int32 Dowa_HashMap_Get_Position(Dowa_PHashMap p_hash_map, const char *key)
+int32 Dowa_HashMap_Get_Position(Dowa_HashMap *p_hash_map, const char *key)
 {
   if (!p_hash_map || !key)
     return -1;
@@ -170,13 +170,13 @@
   return hash_val % p_hash_map->capacity;
 }
 
-void *Dowa_HashMap_Get(Dowa_PHashMap p_hash_map, const char *key)
+void *Dowa_HashMap_Get(Dowa_HashMap *p_hash_map, const char *key)
 {
   if (!p_hash_map || !key)
     return NULL;
 
   int idx = Dowa_HashMap_Get_Position(p_hash_map, key);
-  Dowa_PHashEntry entry = p_hash_map->entries[idx];
+  Dowa_HashEntry *entry = p_hash_map->entries[idx];
 
   while (entry)
   {
@@ -191,7 +191,7 @@
 }
 
 
-int32 Dowa_HashMap_Push_Value_With_Type_NoCopy(Dowa_PHashMap p_hash_map, const char *key,
+int32 Dowa_HashMap_Push_Value_With_Type_NoCopy(Dowa_HashMap *p_hash_map, const char *key,
                                                void *value, size_t value_size,
                                                Dowa_HashMap_ValueType type)
 {
@@ -199,8 +199,8 @@
     return -1;
 
   int idx = Dowa_HashMap_Get_Position(p_hash_map, key);
-  Dowa_PHashEntry entry = p_hash_map->entries[idx];
-  Dowa_PHashEntry prev = NULL;
+  Dowa_HashEntry *entry = p_hash_map->entries[idx];
+  Dowa_HashEntry *prev = NULL;
 
   // Old key
   while (entry)
@@ -261,7 +261,7 @@
   return 0;
 }
 
-int32 Dowa_HashMap_Push_Value_With_Type(Dowa_PHashMap p_hash_map, const char *key,
+int32 Dowa_HashMap_Push_Value_With_Type(Dowa_HashMap *p_hash_map, const char *key,
                                         void *value, size_t value_size,
                                         Dowa_HashMap_ValueType type)
 {
@@ -269,8 +269,8 @@
     return -1;
 
   int idx = Dowa_HashMap_Get_Position(p_hash_map, key);
-  Dowa_PHashEntry entry = p_hash_map->entries[idx];
-  Dowa_PHashEntry prev = NULL;
+  Dowa_HashEntry *entry = p_hash_map->entries[idx];
+  Dowa_HashEntry *prev = NULL;
 
   // Check for existing key
   while (entry)
@@ -324,19 +324,19 @@
   return 0;
 }
 
-void Dowa_HashMap_Push_Value(Dowa_PHashMap p_hash_map, const char *key, void *value, size_t value_size)
+void Dowa_HashMap_Push_Value(Dowa_HashMap *p_hash_map, const char *key, void *value, size_t value_size)
 {
   Dowa_HashMap_Push_Value_With_Type(p_hash_map, key, value, value_size, DOWA_HASH_MAP_TYPE_BUFFER);
 }
 
-void Dowa_HashMap_Pop_Key(Dowa_PHashMap p_hash_map, const char *key)
+void Dowa_HashMap_Pop_Key(Dowa_HashMap *p_hash_map, const char *key)
 {
   if (!p_hash_map || !key)
     return;
 
   int idx = Dowa_HashMap_Get_Position(p_hash_map, key);
-  Dowa_PHashEntry entry = p_hash_map->entries[idx];
-  Dowa_PHashEntry prev = NULL;
+  Dowa_HashEntry *entry = p_hash_map->entries[idx];
+  Dowa_HashEntry *prev = NULL;
 
   while (entry)
   {
@@ -363,13 +363,13 @@
   }
 }
 
-boolean Dowa_HashMap_Has_Key(Dowa_PHashMap p_hash_map, const char *key)
+boolean Dowa_HashMap_Has_Key(Dowa_HashMap *p_hash_map, const char *key)
 {
   if (!p_hash_map || !key)
     return FALSE;
 
   int idx = Dowa_HashMap_Get_Position(p_hash_map, key);
-  Dowa_PHashEntry entry = p_hash_map->entries[idx];
+  Dowa_HashEntry *entry = p_hash_map->entries[idx];
 
   while (entry)
   {
@@ -381,7 +381,7 @@
   return FALSE;
 }
 
-void Dowa_HashMap_Clear(Dowa_PHashMap p_hash_map)
+void Dowa_HashMap_Clear(Dowa_HashMap *p_hash_map)
 {
   if (!p_hash_map) return;
 
@@ -392,8 +392,8 @@
   }
   else
   {
-    Dowa_PHashEntry entry;
-    Dowa_PHashEntry next;
+    Dowa_HashEntry *entry;
+    Dowa_HashEntry *next;
     if (p_hash_map->entries)
     {
       for (int idx=0; idx<p_hash_map->capacity; idx++)
@@ -414,13 +414,13 @@
   p_hash_map->current_capacity = 0;
 }
 
-uint32 Dowa_HashMap_Get_Count(Dowa_PHashMap p_hash_map)
+uint32 Dowa_HashMap_Get_Count(Dowa_HashMap *p_hash_map)
 {
   if (!p_hash_map) return 0;
   return p_hash_map->current_capacity;
 }
 
-void Dowa_HashMap_Print(Dowa_PHashMap map)
+void Dowa_HashMap_Print(Dowa_HashMap *map)
 {
   if (!map)
   {
@@ -431,7 +431,7 @@
   printf("\n-----------\n\n");
   for (size_t i = 0; i < map->capacity; ++i)
   {
-    Dowa_PHashEntry e = map->entries[i];
+    Dowa_HashEntry *e = map->entries[i];
     while (e) 
     {
       if (!e) break;
@@ -450,7 +450,7 @@
         break;
         case DOWA_HASH_MAP_TYPE_STRING:
         {
-          printf("%s\n", (char*)e->buffer);
+          printf("%.*s\n", (int)e->capacity, (char*)e->buffer);
         }
         break;
         case DOWA_HASH_MAP_TYPE_HASHMAP:
@@ -475,7 +475,7 @@
 }
 
 #ifdef DIRECTORY
-int Dowa_HashMap_Cache_Folder(Dowa_PHashMap p_hash_map, const char *folder_path)
+int Dowa_HashMap_Cache_Folder(Dowa_HashMap *p_hash_map, const char *folder_path)
 {
   if (!p_hash_map || !folder_path)
     return -1;
@@ -527,7 +527,7 @@
     else if (S_ISDIR(st.st_mode))
     {
       // TODO: Adjust the sizes of the recursive map?
-      Dowa_PHashMap p_child_map = Dowa_HashMap_Create_With_Arena(100, p_hash_map->p_arena); 
+      Dowa_HashMap *p_child_map = Dowa_HashMap_Create_With_Arena(100, p_hash_map->p_arena); 
       if (!p_child_map)
       {
         perror("Dowa_HashMap_Create");