diff options
| author | verdant <im@verdant.ee> | 2026-07-28 15:22:02 +0800 |
|---|---|---|
| committer | verdant <im@verdant.ee> | 2026-07-28 15:22:02 +0800 |
| commit | 0ffd523ccb690301a1428286438b3bba86695977 (patch) | |
| tree | 01d88f359137418610670ecdb342d5a11ead2317 /mem.c | |
| parent | 02f82a3cd9b65c2ddbeaf66df54dcf9b13511640 (diff) | |
| download | sf-0ffd523ccb690301a1428286438b3bba86695977.tar.gz sf-0ffd523ccb690301a1428286438b3bba86695977.zip | |
Add util function: free_pointer_array
This function iterates through each element of pointer array, frees
its memory, and finally free the array itself.
Diffstat (limited to 'mem.c')
| -rw-r--r-- | mem.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -5,6 +5,7 @@ #include <stdlib.h> #include "err.h" +#include "log.h" void *xmalloc(size_t size) { @@ -24,3 +25,19 @@ void *xrealloc(void *p, size_t size) 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); +} |
