Mirai's Miscellaneous Misadventures

M32 / core / malloc.c

1// copyright 2022 zamfofex
2// license: AGPLv3 or later
3
4#include <stdlib.h>
5
6#include <mimimi/allocators.h>
7#include <mimimi/malloc.h>
8
9static void *mimimi_malloc_allocate(void *data, unsigned int size)
10{
11	(void) data;
12	void *value = malloc(size);
13	if (value == NULL) exit(1);
14	return value;
15}
16
17static void *mimimi_malloc_reallocate(void *data, void *value, unsigned int size)
18{
19	(void) data;
20	value = realloc(value, size);
21	if (value == NULL) exit(1);
22	return value;
23}
24
25static void mimimi_malloc_deallocate(void *data, void *value)
26{
27	(void) data;
28	free(value);
29}
30
31static struct mimimi_allocator mimimi_malloc_value = {&mimimi_malloc_allocate, &mimimi_malloc_reallocate, &mimimi_malloc_deallocate, NULL, NULL};
32
33struct mimimi_allocator *mimimi_malloc = &mimimi_malloc_value;