Mercurial > hg > toybox
diff lib/llist.c @ 1295:114ec0ab161c draft
Add free functions for predefined llist types.
author | Rob Landley <rob@landley.net> |
---|---|
date | Wed, 21 May 2014 06:57:43 -0500 |
parents | c2663b7eca78 |
children | 4d898affda0c |
line wrap: on
line diff
--- a/lib/llist.c Wed May 21 05:12:38 2014 -0500 +++ b/lib/llist.c Wed May 21 06:57:43 2014 -0500 @@ -5,8 +5,26 @@ #include "toys.h" +// Callback function to free data pointer of double_list or arg_list + +void llist_free_arg(void *node) +{ + struct arg_list *d = node; + + free(d->arg); + free(d); +} + +void llist_free_double(void *node) +{ + struct double_list *d = node; + + free(d->data); + free(d); +} + // Call a function (such as free()) on each element of a linked list. -void llist_traverse(void *list, void (*using)(void *data)) +void llist_traverse(void *list, void (*using)(void *node)) { void *old = list;