From cf284afece70f1bee920c28b52ce29c5a928423f Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Wed, 10 Nov 2004 20:27:40 +0000 Subject: [PATCH] Bugfix: msgQueueFind() would return the first node (instead of NULL) if it couldn't find the requested node. --- src/xpdev/msg_queue.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/xpdev/msg_queue.c b/src/xpdev/msg_queue.c index ee940a7d08..03787e087b 100644 --- a/src/xpdev/msg_queue.c +++ b/src/xpdev/msg_queue.c @@ -197,8 +197,12 @@ void* msgQueuePeek(msg_queue_t* q, long timeout) void* msgQueueFind(msg_queue_t* q, const void* data, size_t length) { - return listRemoveNode(msgQueueReadList(q) - ,listFindNode(msgQueueReadList(q),data,length)); + link_list_t* list = msgQueueReadList(q); + list_node_t* node; + + if((node=listFindNode(list,data,length))==NULL) + return(NULL); + return listRemoveNode(list,node); } list_node_t* msgQueueFirstNode(msg_queue_t* q) -- GitLab