aboutsummaryrefslogtreecommitdiff
path: root/MemoryManager.c
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2026-04-28 14:28:06 +0300
committerSyndamia <kamen@syndamia.com>2026-05-12 07:08:56 +0300
commita619dd631c367d60a06a28e81fec634c7d827308 (patch)
treefecb09aa088d406df98658b57137a0ac3c19782e /MemoryManager.c
parent0d249b1d47a7f84cfe5f09ad070d1affd26566da (diff)
downloadfoollib-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.c25
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,