From 05da3d5cdfc385b975831dcf637eee29039f88db Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Thu, 22 May 2014 13:31:00 +0300 Subject: [PATCH] shared/queue: Make queue_find default do direct match for NULL callback --- src/shared/queue.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/shared/queue.c b/src/shared/queue.c index 20f51b8ab..8bbb7df27 100644 --- a/src/shared/queue.c +++ b/src/shared/queue.c @@ -224,6 +224,11 @@ void queue_foreach(struct queue *queue, queue_foreach_func_t function, queue_unref(queue); } +static bool direct_match(const void *a, const void *b) +{ + return a == b; +} + void *queue_find(struct queue *queue, queue_match_func_t function, const void *match_data) { @@ -232,6 +237,9 @@ void *queue_find(struct queue *queue, queue_match_func_t function, if (!queue || !function) return NULL; + if (!function) + function = direct_match; + for (entry = queue->head; entry; entry = entry->next) if (function(entry->data, match_data)) return entry->data; -- 2.47.3