summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ChangeLog2
-rw-r--r--lib/linklist.c11
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);
}