diff options
| author | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-04-09 22:51:39 +0100 | 
|---|---|---|
| committer | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-04-09 22:52:58 +0100 | 
| commit | 4218fa3a2c305b97d8be3d4448f1be1c41cc1143 (patch) | |
| tree | ab58290d921363801b8e343e9c610b1fd047270d | |
| parent | 1dd0f8835cea1ac6af0bf63eebdffdb4e66a0693 (diff) | |
| download | prick-4218fa3a2c305b97d8be3d4448f1be1c41cc1143.tar.gz prick-4218fa3a2c305b97d8be3d4448f1be1c41cc1143.tar.bz2 prick-4218fa3a2c305b97d8be3d4448f1be1c41cc1143.zip | |
Translate region_delete_rec while loop to for loop, minor edits
| -rw-r--r-- | arena.h | 12 | 
1 files changed, 5 insertions, 7 deletions
| @@ -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) | 
