diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c index b747cd848..0b64edbab 100644 --- a/src/pulsecore/core-util.c +++ b/src/pulsecore/core-util.c @@ -2732,3 +2732,15 @@ void pa_disable_sigpipe(void) { } #endif } + +void pa_xfreev(void**a) { + void **p; + + if (!a) + return; + + for (p = a; *p; p++) + pa_xfree(*p); + + pa_xfree(a); +} diff --git a/src/pulsecore/core-util.h b/src/pulsecore/core-util.h index d073b750f..5a12ad3fe 100644 --- a/src/pulsecore/core-util.h +++ b/src/pulsecore/core-util.h @@ -229,4 +229,10 @@ char *pa_realpath(const char *path); void pa_disable_sigpipe(void); +void pa_xfreev(void**a); + +static inline void pa_xstrfreev(char **a) { + pa_xfreev((void**) a); +} + #endif