diff options
| author | verdant <im@verdant.ee> | 2026-07-28 18:30:16 +0800 |
|---|---|---|
| committer | verdant <im@verdant.ee> | 2026-07-28 18:30:16 +0800 |
| commit | 9bffcafa9ae0c38103a8c64b3482bb099e792869 (patch) | |
| tree | 3cc18cabd99f9e300ca2539a9a48fb9c2d30e337 /src/mem.c | |
| parent | cbdc8462b6e982d3137b74d61bed6f8977405b8a (diff) | |
| download | sf-9bffcafa9ae0c38103a8c64b3482bb099e792869.tar.gz sf-9bffcafa9ae0c38103a8c64b3482bb099e792869.zip | |
Move source files to src/
Diffstat (limited to 'src/mem.c')
| -rw-r--r-- | src/mem.c | 43 |
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); +} |
