summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-06-27 19:15:32 +0200
committerLennart Poettering <lennart@poettering.net>2008-06-27 19:15:32 +0200
commita0870149699b69d42c0439ad56f4bce55597f9cd (patch)
tree0a011f6e6dbc99d972f536254044050850b06f84
parent232c9558ffafe699cfa0467b0e32642c0f13df83 (diff)
some modernizations
-rw-r--r--src/pulsecore/queue.c9
-rw-r--r--src/pulsecore/queue.h13
2 files changed, 13 insertions, 9 deletions
diff --git a/src/pulsecore/queue.c b/src/pulsecore/queue.c
index 72e54670d..2c73a3db7 100644
--- a/src/pulsecore/queue.c
+++ b/src/pulsecore/queue.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
@@ -52,13 +52,13 @@ pa_queue* pa_queue_new(void) {
return q;
}
-void pa_queue_free(pa_queue* q, void (*destroy)(void *p, void *userdata), void *userdata) {
+void pa_queue_free(pa_queue* q, pa_free2_cb_t free_func, void *userdata) {
void *data;
pa_assert(q);
while ((data = pa_queue_pop(q)))
- if (destroy)
- destroy(data, userdata);
+ if (free_func)
+ free_func(data, userdata);
pa_assert(!q->front);
pa_assert(!q->back);
@@ -94,6 +94,7 @@ void pa_queue_push(pa_queue *q, void *p) {
void* pa_queue_pop(pa_queue *q) {
void *p;
struct queue_entry *e;
+
pa_assert(q);
if (!(e = q->front))
diff --git a/src/pulsecore/queue.h b/src/pulsecore/queue.h
index c55ac4db5..f3cec9bbb 100644
--- a/src/pulsecore/queue.h
+++ b/src/pulsecore/queue.h
@@ -1,10 +1,10 @@
-#ifndef fooqueuehfoo
-#define fooqueuehfoo
+#ifndef foopulsecorequeuehfoo
+#define foopulsecorequeuehfoo
/***
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_queue pa_queue;
/* A simple implementation of the abstract data type queue. Stores
@@ -29,8 +31,9 @@ typedef struct pa_queue pa_queue;
pa_queue* pa_queue_new(void);
-/* Free the queue and run the specified callback function for every remaining entry. The callback function may be NULL. */
-void pa_queue_free(pa_queue* q, void (*destroy)(void *p, void *userdata), void *userdata);
+/* Free the queue and run the specified callback function for every
+ * remaining entry. The callback function may be NULL. */
+void pa_queue_free(pa_queue* q, pa_free2_cb_t free_func, void *userdata);
void pa_queue_push(pa_queue *q, void *p);
void* pa_queue_pop(pa_queue *q);