while (initial_size % ALIGN != 0) initial_size++;
- struct block *block = malloc(initial_size);
+ struct block *block = calloc(sizeof(struct block) + initial_size, 1);
block->used = 0;
block->next = NULL;
block->capacity = initial_size;
/* need to allocate a new block */
usize new_capacity = arena->current->capacity;
if (size > new_capacity) new_capacity = size;
- struct block *block = malloc(sizeof(struct block) + new_capacity);
+ struct block *block = calloc(sizeof(struct block) + new_capacity, 1);
block->capacity = new_capacity;
block->next = NULL;
* after this stage so we can differentiate between things like 'a.b (1)' and 'a.b(1)',
* which have different semantics. */
+#define MEM_BLOCK_SIZE 65536
+
typedef struct sbScanner {
hFileReader file_reader;
hArena arena;
hScanner sbScanner_create(hFileReader fr) {
hScanner sc = malloc(sizeof(sbScanner));
- sc->arena = sbArena_create(65536);
+ sc->arena = sbArena_create(MEM_BLOCK_SIZE);
sc->file_reader = fr;
sc->next_token = (sbLexToken) {0};