summaryrefslogtreecommitdiff
path: root/src/memory.c
diff options
context:
space:
mode:
author0scar <qgt268@alumni.ku.dk>2024-02-05 16:36:47 +0000
committer0scar <qgt268@alumni.ku.dk>2024-02-05 16:48:20 +0000
commite85f81ec109782a01f1f741d4c2ed5f21af0c124 (patch)
tree8708c742b296de20e2d54ef9fa8ea7c2036d3d82 /src/memory.c
parent457a4a3b1f00bf4d6c31b693085aa7150d2dcded (diff)
Organize the sourcefiles
Diffstat (limited to 'src/memory.c')
-rw-r--r--src/memory.c62
1 files changed, 0 insertions, 62 deletions
diff --git a/src/memory.c b/src/memory.c
deleted file mode 100644
index f19803e..0000000
--- a/src/memory.c
+++ /dev/null
@@ -1,62 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <engine/logging.h>
-
-#include <engine/memory.h>
-
-memory* memory_new(usize max_size) {
- memory* m = malloc(sizeof(memory));
- m->data = malloc(max_size);
- m->size = max_size;
- m->pos = 0;
- m->free = max_size;
-
- memset(m->data, 0, max_size);
-
- return m;
-}
-
-/* Returns a pointer to the allocated data */
-void* memory_allocate(memory* mem, usize size) {
- void* data = NULL;
-
- if (mem->pos + size <= mem->size) {
- data = (void*)((usize)mem->data + mem->pos);
- mem->pos += size;
- mem->free -= size;
- } else {
- ERROR("Trying to allocate %lu in a %lu sized memory block", size,
- mem->size);
- ERROR("No more room!");
- exit(EXIT_FAILURE);
- }
-
- return data;
-}
-
-memory memory_init(void* data, usize size) {
- memory m = {0};
- m.data = data;
- m.size = size;
- m.free = 0;
- return m;
-}
-
-void memory_free(memory* mem, usize size) {
- if (size > mem->pos) {
- perror("Freeing too much memory!");
- exit(EXIT_FAILURE);
- } else {
- mem->pos -= size;
- mem->free += size;
- }
-}
-
-void memory_clear(memory* mem) {
- mem->pos = 0;
- mem->free = mem->size;
- /* Reset the memory? */
- memset(mem->data, 0, mem->size);
-}