[lib] list_delete shouldn't duplicate list_delete_all_node

2006-06-15 Paul Jakma <paul.jakma@sun.com>

	* linklist.c: (list_delete) call list_delete_all_node, don't
	  duplicate it.
diff --git a/lib/ChangeLog b/lib/ChangeLog
index b7c9f04..a9c3b8b 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 71c4db8..11e16a8 100644
--- a/lib/linklist.c
+++ b/lib/linklist.c
@@ -226,17 +226,8 @@
 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);
 }