diff options
-rw-r--r-- | lib/ChangeLog | 2 | ||||
-rw-r--r-- | lib/linklist.c | 11 |
2 files changed, 3 insertions, 10 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index b7c9f040..a9c3b8bf 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -3,6 +3,8 @@ * command.c: (cmd_describe_command_real) Fix leak, CID #38. * memory.h: Experimental, have XFREE macro NULL out the freed pointer. + * linklist.c: (list_delete) call list_delete_all_node, don't + duplicate it. 2006-05-28 Paul Jakma <paul.jakma@sun.com> diff --git a/lib/linklist.c b/lib/linklist.c index 71c4db82..11e16a8a 100644 --- a/lib/linklist.c +++ b/lib/linklist.c @@ -226,17 +226,8 @@ list_delete_all_node (struct list *list) void list_delete (struct list *list) { - struct listnode *node; - struct listnode *next; - assert(list); - for (node = list->head; node; node = next) - { - next = node->next; - if (list->del) - (*list->del) (node->data); - listnode_free (node); - } + list_delete_all_node (list); list_free (list); } |