summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-06-27 19:11:28 +0200
committerLennart Poettering <lennart@poettering.net>2008-06-27 19:11:28 +0200
commitc0f97aa580a48d790361258d44775828e2eff134 (patch)
tree6bf9622e7c54c7c83fa0b2b1268db3eeda0d1b7f /src
parent12278f4c839b235913e8faf4ec01acb63ea31a56 (diff)
some modernizations
Diffstat (limited to 'src')
-rw-r--r--src/pulsecore/dynarray.c11
-rw-r--r--src/pulsecore/dynarray.h10
2 files changed, 13 insertions, 8 deletions
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 <pulsecore/idxset.h>
+
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);