diff options
author | Rob Landley <rob@landley.net> | 2008-01-20 17:34:53 -0600 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2008-01-20 17:34:53 -0600 |
commit | 6ef04efa853b80c76ead2d252b3f4771f4c25d5d (patch) | |
tree | 527f7d3221c7147dbb5f8a8f0d057f2195bf6c9a /lib/llist.c | |
parent | b1aaba1fc8176ac0b7c202a664d2554aa0967116 (diff) | |
download | toybox-6ef04efa853b80c76ead2d252b3f4771f4c25d5d.tar.gz |
Move dlist_add() to lib/llist.c
Diffstat (limited to 'lib/llist.c')
-rw-r--r-- | lib/llist.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/llist.c b/lib/llist.c index 8d6fd265..4f9bc220 100644 --- a/lib/llist.c +++ b/lib/llist.c @@ -30,3 +30,17 @@ void *llist_pop(void *list) return (void *)next; } + +// Add an entry to the end off a doubly linked list +void dlist_add(struct double_list **list, char *data) +{ + struct double_list *line = xmalloc(sizeof(struct double_list)); + + line->data = data; + if (*list) { + line->next = *list; + line->prev = (*list)->prev; + (*list)->prev->next = line; + (*list)->prev = line; + } else *list = line->next = line->prev = line; +} |