Translate region_delete_rec while loop to for loop, minor edits

This commit is contained in:
2025-04-09 22:51:39 +01:00
parent 1dd0f8835c
commit 4218fa3a2c

12
arena.h
View File

@@ -11,7 +11,7 @@
* Created: 2024-11-01
* Author: Aryadev Chavali
* Description: Arena allocator
* Description: Arena allocator.
*/
#ifndef ARENA_H
@@ -160,12 +160,9 @@ uint8_t *region_alloc_rec(region_t *region, uint32_t capacity)
void region_delete_rec(region_t *region)
{
while (region)
{
region_t *next = region->next;
free(region);
region = next;
}
for (region_t *next = NULL; region;
next = region->next, free(region), region = next)
continue;
}
uint8_t *arena_alloc(arena_t *arena, uint32_t size)
@@ -175,6 +172,7 @@ uint8_t *arena_alloc(arena_t *arena, uint32_t size)
arena->beg = region_make(size, NULL);
arena->end = arena->beg;
}
uint8_t *start = region_alloc_rec(arena->beg, size);
// if we've attached a new region, end needs to be at that region
if (arena->end->next)