diff options
author | David Lamparter <equinox@opensourcerouting.org> | 2016-07-28 17:23:46 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetwroks.com> | 2016-07-28 13:27:47 +0200 |
commit | a8fd82028158f8e811e214fec0185cf6cdfdb9cb (patch) | |
tree | 75a3b1ace1cf15db15f286492f22b752ce4a40a4 | |
parent | *: snmp: add a load of "static" specifiers (diff) | |
download | frr-a8fd82028158f8e811e214fec0185cf6cdfdb9cb.tar.xz frr-a8fd82028158f8e811e214fec0185cf6cdfdb9cb.zip |
lib: linklist: clean up insert-before/after dups
- list_add_node_next was in fact unused
- list_add_node_prev performs a subset of listnode_add_before and
its only use in isisd replaced with that.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
-rw-r--r-- | isisd/isis_spf.c | 4 | ||||
-rw-r--r-- | lib/linklist.c | 49 | ||||
-rw-r--r-- | lib/linklist.h | 4 |
3 files changed, 5 insertions, 52 deletions
diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c index 32026f9b1..fd5af4a2b 100644 --- a/isisd/isis_spf.c +++ b/isisd/isis_spf.c @@ -545,13 +545,13 @@ isis_spf_add2tent (struct isis_spftree *spftree, enum vertextype vtype, v = listgetdata (node); if (v->d_N > vertex->d_N) { - list_add_node_prev (spftree->tents, node, vertex); + listnode_add_before (spftree->tents, node, vertex); break; } else if (v->d_N == vertex->d_N && v->type > vertex->type) { /* Tie break, add according to type */ - list_add_node_prev (spftree->tents, node, vertex); + listnode_add_before (spftree->tents, node, vertex); break; } } diff --git a/lib/linklist.c b/lib/linklist.c index 8b6a85282..d27a2da84 100644 --- a/lib/linklist.c +++ b/lib/linklist.c @@ -122,7 +122,7 @@ listnode_add_sort (struct list *list, void *val) list->count++; } -void +struct listnode * listnode_add_after (struct list *list, struct listnode *pp, void *val) { struct listnode *nn; @@ -157,6 +157,7 @@ listnode_add_after (struct list *list, struct listnode *pp, void *val) pp->next = nn; } list->count++; + return nn; } struct listnode * @@ -306,52 +307,6 @@ list_delete_node (struct list *list, struct listnode *node) /* ospf_spf.c */ void -list_add_node_prev (struct list *list, struct listnode *current, void *val) -{ - struct listnode *node; - - assert (val != NULL); - - node = listnode_new (); - node->next = current; - node->data = val; - - if (current->prev == NULL) - list->head = node; - else - current->prev->next = node; - - node->prev = current->prev; - current->prev = node; - - list->count++; -} - -/* ospf_spf.c */ -void -list_add_node_next (struct list *list, struct listnode *current, void *val) -{ - struct listnode *node; - - assert (val != NULL); - - node = listnode_new (); - node->prev = current; - node->data = val; - - if (current->next == NULL) - list->tail = node; - else - current->next->prev = node; - - node->next = current->next; - current->next = node; - - list->count++; -} - -/* ospf_spf.c */ -void list_add_list (struct list *l, struct list *m) { struct listnode *n; diff --git a/lib/linklist.h b/lib/linklist.h index 96aaf4319..e99e50f4f 100644 --- a/lib/linklist.h +++ b/lib/linklist.h @@ -67,7 +67,7 @@ extern void list_free (struct list *); extern void listnode_add (struct list *, void *); extern void listnode_add_sort (struct list *, void *); -extern void listnode_add_after (struct list *, struct listnode *, void *); +extern struct listnode *listnode_add_after (struct list *, struct listnode *, void *); extern struct listnode *listnode_add_before (struct list *, struct listnode *, void *); extern void listnode_move_to_tail (struct list *, struct listnode *); extern void listnode_delete (struct list *, void *); @@ -81,8 +81,6 @@ extern void list_delete_all_node (struct list *); extern void list_delete_node (struct list *, struct listnode *); /* For ospf_spf.c */ -extern void list_add_node_prev (struct list *, struct listnode *, void *); -extern void list_add_node_next (struct list *, struct listnode *, void *); extern void list_add_list (struct list *, struct list *); /* List iteration macro. |