diff options
| author | Syndamia <kamen@syndamia.com> | 2026-04-28 14:28:06 +0300 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2026-05-12 07:08:56 +0300 |
| commit | a619dd631c367d60a06a28e81fec634c7d827308 (patch) | |
| tree | fecb09aa088d406df98658b57137a0ac3c19782e /MemoryManager.c | |
| parent | 0d249b1d47a7f84cfe5f09ad070d1affd26566da (diff) | |
| download | foollib-a619dd631c367d60a06a28e81fec634c7d827308.tar foollib-a619dd631c367d60a06a28e81fec634c7d827308.tar.gz foollib-a619dd631c367d60a06a28e81fec634c7d827308.zip | |
chore: Add safety checks and clean up code style
Diffstat (limited to 'MemoryManager.c')
| -rw-r--r-- | MemoryManager.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/MemoryManager.c b/MemoryManager.c index 68dab6e..98e70e7 100644 --- a/MemoryManager.c +++ b/MemoryManager.c @@ -1,27 +1,42 @@ #include "MemoryManager.h" +#include "Types.h" #include <stdlib.h> -Result std_alloc(MemoryManager mm, void** ptr, usize size) { +Result +std_alloc(MemoryManager mm, void **ptr, usize size) { + if (NULL == ptr) + return R_NullArgument; + *ptr = malloc(size); return (*ptr == NULL) ? R_Err : R_Ok; } -Result std_realloc(MemoryManager mm, void** ptr, usize size) { +Result +std_realloc(MemoryManager mm, void **ptr, usize size) { + if (NULL == ptr) + return R_NullArgument; + *ptr = realloc(*ptr, size); return (*ptr == NULL) ? R_Err : R_Ok; } -Result std_free(MemoryManager mm, void** ptr) { +Result +std_free(MemoryManager mm, void **ptr) { + if (NULL == ptr) + return R_NullArgument; + free(*ptr); *ptr = NULL; return R_Ok; } -Result std_destroy(MemoryManager *mm) { +Result +std_destroy(MemoryManager *mm) { return R_Unavailable; } -MemoryManager M_std() { +MemoryManager +M_std() { return (MemoryManager){ .alloc = &std_alloc, .realloc = &std_realloc, |
