From 0ffd523ccb690301a1428286438b3bba86695977 Mon Sep 17 00:00:00 2001 From: verdant Date: Tue, 28 Jul 2026 15:22:02 +0800 Subject: Add util function: free_pointer_array This function iterates through each element of pointer array, frees its memory, and finally free the array itself. --- mem.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'mem.c') diff --git a/mem.c b/mem.c index baa7977..c3d5db3 100644 --- a/mem.c +++ b/mem.c @@ -5,6 +5,7 @@ #include #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); +} -- cgit v1.2.3