From a0870149699b69d42c0439ad56f4bce55597f9cd Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 27 Jun 2008 19:15:32 +0200 Subject: some modernizations --- src/pulsecore/queue.c | 9 +++++---- src/pulsecore/queue.h | 13 ++++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/pulsecore/queue.c b/src/pulsecore/queue.c index 72e54670..2c73a3db 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 c55ac4db..f3cec9bb 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 + 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); -- cgit