Mercurial > repos > blastem
diff arena.c @ 1037:5239f09bcceb
Merge
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 17 Jul 2016 23:05:53 -0700 |
parents | c7c573f0229e |
children | 4b8ab2d82aee |
line wrap: on
line diff
--- a/arena.c Thu Jun 30 09:42:17 2016 -0700 +++ b/arena.c Sun Jul 17 23:05:53 2016 -0700 @@ -17,6 +17,8 @@ size_t free_storage; }; +#define DEFAULT_STORAGE_SIZE 8 + static arena *current_arena; arena *get_current_arena() @@ -45,7 +47,11 @@ { arena *cur = get_current_arena(); if (cur->used_count == cur->used_storage) { - cur->used_storage *= 2; + if (cur->used_storage) { + cur->used_storage *= 2; + } else { + cur->used_storage = DEFAULT_STORAGE_SIZE; + } cur->used_blocks = realloc(cur->used_blocks, cur->used_storage * sizeof(void *)); } cur->used_blocks[cur->used_count++] = block;