From f1594be140f0955e9320a818b6c9bdc991dc84f3 Mon Sep 17 00:00:00 2001 From: Giovanni Gherdovich Date: Thu, 3 Jan 2013 20:37:02 +0100 Subject: [PATCH] core: Replace calls to g_queue_free_full function The function g_queue_free_full is available only from GLib 2.32. If BlueZ has to build against GLib 2.28, as stated in the configure.ac, this patch replaces the calls to g_queue_free_full in the "core" BlueZ module with its body, taken from the sources of GLib 2.32. --- src/adapter.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/adapter.c b/src/adapter.c index 1752d3eb6..ec2e8bd67 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -1828,6 +1828,13 @@ int btd_adapter_stop(struct btd_adapter *adapter) return 0; } +static void free_service_auth(gpointer data, gpointer user_data) +{ + struct service_auth *auth = data; + + g_free(auth); +} + static void adapter_free(gpointer user_data) { struct btd_adapter *adapter = user_data; @@ -1837,7 +1844,8 @@ static void adapter_free(gpointer user_data) if (adapter->auth_idle_id) g_source_remove(adapter->auth_idle_id); - g_queue_free_full(adapter->auths, g_free); + g_queue_foreach(adapter->auths, free_service_auth, NULL); + g_queue_free(adapter->auths); sdp_list_free(adapter->services, NULL); -- 2.47.3