aboutsummaryrefslogtreecommitdiff
path: root/src/core/list.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/list.c')
-rw-r--r--src/core/list.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/core/list.c b/src/core/list.c
index 69a74db6..8d6c3ace 100644
--- a/src/core/list.c
+++ b/src/core/list.c
@@ -58,6 +58,9 @@ nni_list_append(nni_list *list, void *item)
{
nni_list_node *node = NODE(list, item);
+ if ((node->ln_next != NULL) || (node->ln_prev != NULL)) {
+ nni_panic("appending node already on a list or not inited");
+ }
node->ln_prev = list->ll_head.ln_prev;
node->ln_next = &list->ll_head;
node->ln_next->ln_prev = node;
@@ -70,6 +73,9 @@ nni_list_prepend(nni_list *list, void *item)
{
nni_list_node *node = NODE(list, item);
+ if ((node->ln_next != NULL) || (node->ln_prev != NULL)) {
+ nni_panic("prepending node already on a list or not inited");
+ }
node->ln_next = list->ll_head.ln_next;
node->ln_prev = &list->ll_head;
node->ln_next->ln_prev = node;
@@ -108,13 +114,6 @@ nni_list_remove(nni_list *list, void *item)
node->ln_prev->ln_next = node->ln_next;
node->ln_next->ln_prev = node->ln_prev;
-}
-
-
-void
-nni_list_node_init(nni_list *list, void *item)
-{
- nni_list_node *node = NODE(list, item);
-
- node->ln_prev = node->ln_next = NULL;
+ node->ln_next = NULL;
+ node->ln_prev = NULL;
}