From 2fe55afeec519afbe4fac45c0d0b8d4331f623aa Mon Sep 17 00:00:00 2001 From: Philippe Guibert Date: Thu, 28 Mar 2019 17:59:27 +0100 Subject: [PATCH] lib: add lookup utility routine that accepts null list values lists passed as parameter that are null, are accepted by the function. I would even propose to silently return NULL in official listnode_lookup() routine. Signed-off-by: Philippe Guibert --- lib/linklist.c | 7 +++++++ lib/linklist.h | 2 ++ 2 files changed, 9 insertions(+) diff --git a/lib/linklist.c b/lib/linklist.c index 3aa7cae8b7..b8d9a47d2a 100644 --- a/lib/linklist.c +++ b/lib/linklist.c @@ -259,6 +259,13 @@ struct listnode *listnode_lookup(struct list *list, void *data) return NULL; } +struct listnode *listnode_lookup_nocheck(struct list *list, void *data) +{ + if (!list) + return NULL; + return listnode_lookup(list, data); +} + void list_delete_node(struct list *list, struct listnode *node) { if (node->prev) diff --git a/lib/linklist.h b/lib/linklist.h index 76fad45d08..aac3179fbb 100644 --- a/lib/linklist.h +++ b/lib/linklist.h @@ -341,6 +341,8 @@ extern void list_add_list(struct list *list, struct list *add); (L)->count--; \ } while (0) +extern struct listnode *listnode_lookup_nocheck(struct list *list, void *data); + #ifdef __cplusplus } #endif