Translate region_delete_rec while loop to for loop, minor edits
This commit is contained in:
12
arena.h
12
arena.h
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
* Created: 2024-11-01
|
* Created: 2024-11-01
|
||||||
* Author: Aryadev Chavali
|
* Author: Aryadev Chavali
|
||||||
* Description: Arena allocator
|
* Description: Arena allocator.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef ARENA_H
|
#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)
|
void region_delete_rec(region_t *region)
|
||||||
{
|
{
|
||||||
while (region)
|
for (region_t *next = NULL; region;
|
||||||
{
|
next = region->next, free(region), region = next)
|
||||||
region_t *next = region->next;
|
continue;
|
||||||
free(region);
|
|
||||||
region = next;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t *arena_alloc(arena_t *arena, uint32_t size)
|
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->beg = region_make(size, NULL);
|
||||||
arena->end = arena->beg;
|
arena->end = arena->beg;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t *start = region_alloc_rec(arena->beg, size);
|
uint8_t *start = region_alloc_rec(arena->beg, size);
|
||||||
// if we've attached a new region, end needs to be at that region
|
// if we've attached a new region, end needs to be at that region
|
||||||
if (arena->end->next)
|
if (arena->end->next)
|
||||||
|
|||||||
Reference in New Issue
Block a user