Files
arena-allocator/src/test_arena.c
2023-06-05 22:26:00 +02:00

33 lines
636 B
C

// _start test_arena_alloc.c
#include "arena.h"
#include <err.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
static struct arena default_arena = { 0 };
int main()
{
default_arena = arena_new();
printf("\nAttempt to do allocations of 1 byte, cap is %zu, ", default_arena.cap);
size_t i;
for (i = 0; default_arena.next < default_arena.cap; i++) {
char* c = arena_alloc(&default_arena, 1);
*c = i & 0xff;
if (c == NULL) {
err(EXIT_FAILURE, "failed to allocate memory");
}
}
printf("did %zu allocations", i);
printf("\n OK");
return 0;
}