Thread (11 messages) 11 messages, 2 authors, 2012-01-25
STALE5296d

[PATCH 6/8] glib-compat: Add g_list_free_full to deal with issues in old GLib versions

From: Santiago Carot-Nemesio <hidden>
Date: 2012-01-25 10:03:08
Subsystem: the rest · Maintainer: Linus Torvalds

---
 acinclude.m4      |    3 +++
 src/glib-compat.h |    8 ++++++++
 2 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/acinclude.m4 b/acinclude.m4
index 57fc5e0..48a59a2 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -111,6 +111,9 @@ AC_DEFUN([AC_PATH_GLIB], [
 	AC_CHECK_LIB(glib-2.0, g_slist_free_full, dummy=yes,
 		AC_DEFINE(NEED_G_SLIST_FREE_FULL, 1,
 			[Define to 1 if you need g_slist_free_full() function.]))
+	AC_CHECK_LIB(glib-2.0, g_list_free_full, dummy=yes,
+		AC_DEFINE(NEED_G_LIST_FREE_FULL, 1,
+			[Define to 1 if you need g_list_free_full() function.]))
 	AC_SUBST(GLIB_CFLAGS)
 	AC_SUBST(GLIB_LIBS)
 ])
diff --git a/src/glib-compat.h b/src/glib-compat.h
index d50d5e9..b54d640 100644
--- a/src/glib-compat.h
+++ b/src/glib-compat.h
@@ -28,3 +28,11 @@ static inline void g_slist_free_full(GSList *list, GDestroyNotify free_func)
 	g_slist_free(list);
 }
 #endif
+
+#ifdef NEED_G_LIST_FREE_FULL
+static inline void g_list_free_full(GList *list, GDestroyNotify free_func)
+{
+	g_list_foreach(list, (GFunc) free_func, NULL);
+	g_list_free(list);
+}
+#endif
-- 
1.7.8.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help