diff --git a/src/basic/alloc-util.c b/src/basic/alloc-util.c index 58b70dede4..94102dd430 100644 --- a/src/basic/alloc-util.c +++ b/src/basic/alloc-util.c @@ -142,3 +142,10 @@ size_t malloc_sizeof_safe(void **xp) { assert_not_reached(); return sz; } + +void free_many(void **p, size_t n) { + assert(p || n == 0); + + FOREACH_ARRAY(i, p, n) + *i = mfree(*i); +} diff --git a/src/basic/alloc-util.h b/src/basic/alloc-util.h index cd062d5fe3..7d5c1da61f 100644 --- a/src/basic/alloc-util.h +++ b/src/basic/alloc-util.h @@ -206,12 +206,7 @@ size_t malloc_sizeof_safe(void **xp); VOID_0)) /* Free every element of the array. */ -static inline void free_many(void **p, size_t n) { - assert(p || n == 0); - - FOREACH_ARRAY(i, p, n) - *i = mfree(*i); -} +void free_many(void **p, size_t n); /* Typesafe wrapper for char** rather than void**. Unfortunately C won't implicitly cast this. */ static inline void free_many_charp(char **c, size_t n) {