diff options
author | Santiago Carot-Nemesio <sancane@gmail.com> | 2012-01-25 14:12:39 +0100 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2012-02-03 10:45:17 -0800 |
commit | 82ad2b53d24d53b4d0c6b445d572534b3a01b818 (patch) | |
tree | 414a878ec511a3a4ca35c526bf5f57f7d1a8ff63 | |
parent | ef3a19375ff1266505fdb03ae39e24c159fba484 (diff) | |
download | bluez-82ad2b53d24d53b4d0c6b445d572534b3a01b818.tar.gz |
glib-compat: Add g_list_free_full to deal with issues in old GLib versions
-rw-r--r-- | acinclude.m4 | 3 | ||||
-rw-r--r-- | src/glib-compat.h | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index 57fc5e0eb..48a59a2be 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 d50d5e934..b54d64052 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 |