[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lost] list_destroy()



Dieser Patch bereichert die Sammlung der Listen-Funktionen um die
Möglichkeit Listen nicht nur zu erstellen, sondern sie auch wieder zu
zerstören.
Index: src/include/collections.h
===================================================================
--- src/include/collections.h	(Revision 589)
+++ src/include/collections.h	(Arbeitskopie)
@@ -9,6 +9,7 @@
 } list_t;
 
 list_t* list_create();
+void list_destroy(list_t* list);
 list_t* list_push(list_t* list, void* value);
 void* list_pop(list_t* list);
 bool list_is_empty(list_t* list);
Index: src/lib/collections/list.c
===================================================================
--- src/lib/collections/list.c	(Revision 589)
+++ src/lib/collections/list.c	(Arbeitskopie)
@@ -66,6 +66,18 @@
 }
 
 /**
+ * Zerstoert eine Liste
+ */
+void list_destroy(list_t* list)
+{
+    // Alle Elemente loeschen
+    while(list_pop(list) != NULL);
+
+    // Listenhandle freigeben
+    free(list);
+}
+
+/**
  * @return TRUE, wenn die Liste leer ist, FALSE sonst.
  */
 bool list_is_empty(list_t* list)