From b3faf1aab6029caf272475122fd99f7f0b0b39c9 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 9 Dec 2022 08:37:45 -0500 Subject: [PATCH] lib: Hide list macros in linklist.c The LISTNODE_ATTACH|DELETE macros are only used in linklist.c. Let's remove temptation from people to use them. Signed-off-by: Donald Sharp --- lib/linklist.c | 31 +++++++++++++++++++++++++++++++ lib/linklist.h | 31 ------------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/lib/linklist.c b/lib/linklist.c index d1b57084ef..d2a29b7ed1 100644 --- a/lib/linklist.c +++ b/lib/linklist.c @@ -28,6 +28,37 @@ DEFINE_MTYPE_STATIC(LIB, LINK_LIST, "Link List"); DEFINE_MTYPE_STATIC(LIB, LINK_NODE, "Link Node"); +/* these *do not* cleanup list nodes and referenced data, as the functions + * do - these macros simply {de,at}tach a listnode from/to a list. + */ + +/* List node attach macro. */ +#define LISTNODE_ATTACH(L, N) \ + do { \ + (N)->prev = (L)->tail; \ + (N)->next = NULL; \ + if ((L)->head == NULL) \ + (L)->head = (N); \ + else \ + (L)->tail->next = (N); \ + (L)->tail = (N); \ + (L)->count++; \ + } while (0) + +/* List node detach macro. */ +#define LISTNODE_DETACH(L, N) \ + do { \ + if ((N)->prev) \ + (N)->prev->next = (N)->next; \ + else \ + (L)->head = (N)->next; \ + if ((N)->next) \ + (N)->next->prev = (N)->prev; \ + else \ + (L)->tail = (N)->prev; \ + (L)->count--; \ + } while (0) + struct list *list_new(void) { return XCALLOC(MTYPE_LINK_LIST, sizeof(struct list)); diff --git a/lib/linklist.h b/lib/linklist.h index 1452145218..e7594728f1 100644 --- a/lib/linklist.h +++ b/lib/linklist.h @@ -349,37 +349,6 @@ extern struct list *list_dup(struct list *list); (node) != NULL && ((data) = static_cast(data, listgetdata(node)), 1); \ (node) = listnextnode(node), ((data) = NULL) -/* these *do not* cleanup list nodes and referenced data, as the functions - * do - these macros simply {de,at}tach a listnode from/to a list. - */ - -/* List node attach macro. */ -#define LISTNODE_ATTACH(L, N) \ - do { \ - (N)->prev = (L)->tail; \ - (N)->next = NULL; \ - if ((L)->head == NULL) \ - (L)->head = (N); \ - else \ - (L)->tail->next = (N); \ - (L)->tail = (N); \ - (L)->count++; \ - } while (0) - -/* List node detach macro. */ -#define LISTNODE_DETACH(L, N) \ - do { \ - if ((N)->prev) \ - (N)->prev->next = (N)->next; \ - else \ - (L)->head = (N)->next; \ - if ((N)->next) \ - (N)->next->prev = (N)->prev; \ - else \ - (L)->tail = (N)->prev; \ - (L)->count--; \ - } while (0) - extern struct listnode *listnode_lookup_nocheck(struct list *list, void *data); /* -- 2.39.5