Update test_arena.c
This commit is contained in:
@@ -3,9 +3,11 @@
|
|||||||
|
|
||||||
// _start test_arena_alloc.c
|
// _start test_arena_alloc.c
|
||||||
#include "arena.h"
|
#include "arena.h"
|
||||||
|
|
||||||
#include <err.h>
|
#include <err.h>
|
||||||
#include <stdio.h>
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
static struct arena *default_arena = NULL;
|
static struct arena *default_arena = NULL;
|
||||||
|
|
||||||
@@ -17,28 +19,14 @@ int main()
|
|||||||
err(errno, "failed to allocate arena");
|
err(errno, "failed to allocate arena");
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("\n%p\n", default_arena->next);
|
printf("\ntest 1: %s", "attempt to allocate arena->cap x 1 byte");
|
||||||
|
|
||||||
char *ten_A = arena_alloc(default_arena, 11 * sizeof *ten_A);
|
for (size_t i = 0; i < default_arena->cap; i++) {
|
||||||
char *ten_B = arena_alloc(default_arena, 11 * sizeof *ten_B);
|
volatile void *c = arena_alloc(default_arena, 1);
|
||||||
char *ten_C = arena_alloc(default_arena, 11 * sizeof *ten_C);
|
if (c == NULL) {
|
||||||
|
err(EXIT_FAILURE, "failed to allocate memory");
|
||||||
for (size_t i=0; i<10; ++i) {
|
}
|
||||||
ten_A[i] = 'A';
|
}
|
||||||
ten_B[i] = 'B';
|
|
||||||
ten_C[i] = 'C';
|
|
||||||
}
|
|
||||||
|
|
||||||
ten_A[10] = '\0';
|
|
||||||
ten_B[10] = '\0';
|
|
||||||
ten_C[10] = '\0';
|
|
||||||
|
|
||||||
printf("\n%s %s %s", ten_A, ten_B, ten_C);
|
|
||||||
printf("\n%p\n", default_arena->next);
|
|
||||||
|
|
||||||
arena_reset(default_arena);
|
|
||||||
|
|
||||||
printf("\n%p\n", default_arena->next);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user