From c0f97aa580a48d790361258d44775828e2eff134 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 27 Jun 2008 19:11:28 +0200 Subject: some modernizations --- src/pulsecore/dynarray.c | 11 +++++++---- src/pulsecore/dynarray.h | 10 ++++++---- 2 files changed, 13 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/pulsecore/dynarray.c b/src/pulsecore/dynarray.c index a1fcd8a3..bc7716db 100644 --- a/src/pulsecore/dynarray.c +++ b/src/pulsecore/dynarray.c @@ -1,7 +1,7 @@ /*** This file is part of PulseAudio. - Copyright 2004-2006 Lennart Poettering + Copyright 2004-2008 Lennart Poettering PulseAudio is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -41,21 +41,23 @@ struct pa_dynarray { pa_dynarray* pa_dynarray_new(void) { pa_dynarray *a; + a = pa_xnew(pa_dynarray, 1); a->data = NULL; a->n_entries = 0; a->n_allocated = 0; + return a; } -void pa_dynarray_free(pa_dynarray* a, void (*func)(void *p, void *userdata), void *userdata) { +void pa_dynarray_free(pa_dynarray* a, pa_free2_cb_t free_func, void *userdata) { unsigned i; pa_assert(a); - if (func) + if (free_func) for (i = 0; i < a->n_entries; i++) if (a->data[i]) - func(a->data[i], userdata); + free_func(a->data[i], userdata); pa_xfree(a->data); pa_xfree(a); @@ -89,6 +91,7 @@ unsigned pa_dynarray_append(pa_dynarray*a, void *p) { i = a->n_entries; pa_dynarray_put(a, i, p); + return i; } diff --git a/src/pulsecore/dynarray.h b/src/pulsecore/dynarray.h index 82b42082..9a8e64ea 100644 --- a/src/pulsecore/dynarray.h +++ b/src/pulsecore/dynarray.h @@ -1,10 +1,10 @@ -#ifndef foodynarrayhfoo -#define foodynarrayhfoo +#ifndef foopulsecoredynarrayhfoo +#define foopulsecoredynarrayhfoo /*** This file is part of PulseAudio. - Copyright 2004-2006 Lennart Poettering + Copyright 2004-2008 Lennart Poettering PulseAudio is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -22,6 +22,8 @@ USA. ***/ +#include + typedef struct pa_dynarray pa_dynarray; /* Implementation of a simple dynamically sized array. The array @@ -32,7 +34,7 @@ pa_dynarray* pa_dynarray_new(void); /* Free the array calling the specified function for every entry in * the array. The function may be NULL. */ -void pa_dynarray_free(pa_dynarray* a, void (*func)(void *p, void *userdata), void *userdata); +void pa_dynarray_free(pa_dynarray* a, pa_free2_cb_t free_func, void *userdata); /* Store p at position i in the array */ void pa_dynarray_put(pa_dynarray*a, unsigned i, void *p); -- cgit