aboutsummaryrefslogtreecommitdiffstats
path: root/src/mem.c
diff options
context:
space:
mode:
authorverdant <im@verdant.ee>2026-07-28 18:30:16 +0800
committerverdant <im@verdant.ee>2026-07-28 18:30:16 +0800
commit9bffcafa9ae0c38103a8c64b3482bb099e792869 (patch)
tree3cc18cabd99f9e300ca2539a9a48fb9c2d30e337 /src/mem.c
parentcbdc8462b6e982d3137b74d61bed6f8977405b8a (diff)
downloadsf-9bffcafa9ae0c38103a8c64b3482bb099e792869.tar.gz
sf-9bffcafa9ae0c38103a8c64b3482bb099e792869.zip
Move source files to src/
Diffstat (limited to 'src/mem.c')
-rw-r--r--src/mem.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/mem.c b/src/mem.c
new file mode 100644
index 0000000..c3d5db3
--- /dev/null
+++ b/src/mem.c
@@ -0,0 +1,43 @@
+#include "mem.h"
+
+#include <curses.h>
+#include <stddef.h>
+#include <stdlib.h>
+
+#include "err.h"
+#include "log.h"
+
+void *xmalloc(size_t size)
+{
+ void *rtn = malloc(size);
+ if (!rtn) {
+ die("Out of memory");
+ }
+ return rtn;
+}
+
+void *xrealloc(void *p, size_t size)
+{
+ void *pmem = realloc(p, size);
+
+ if (!pmem)
+ free(p);
+
+ return pmem;
+}
+
+void free_pointer_array(void **array, size_t len)
+{
+ if (!array) {
+ log_write(LOG_WARN, "free_poiner_array: array is NULL");
+ return;
+ }
+
+ for (size_t i = 0; i < len; i++) {
+ if (array[i]) {
+ free(array[i]);
+ }
+ }
+
+ free(array);
+}