Bug 158725 - free linked list with data
[platform/upstream/glib.git] / glib / gslist.c
index dfbd354..f6581a8 100644 (file)
@@ -187,6 +187,24 @@ g_slist_free_1 (GSList *list)
 }
 
 /**
+ * g_slist_free_full:
+ * @list: a pointer to a #GSList
+ * @free_func: the function to be called to free each element's data
+ *
+ * Convenience method, which frees all the memory used by a #GSList, and
+ * calls the specified destroy function on every element's data.
+ *
+ * Since: 2.28
+ **/
+void
+g_slist_free_full (GSList         *list,
+                  GDestroyNotify  free_func)
+{
+  g_slist_foreach (list, (GFunc) free_func, NULL);
+  g_slist_free (list);
+}
+
+/**
  * g_slist_append:
  * @list: a #GSList
  * @data: the data for the new element