From: John Ernberg <[email protected]>

---
 src/sim.c | 29 ++++++++++-------------------
 1 file changed, 10 insertions(+), 19 deletions(-)

diff --git a/src/sim.c b/src/sim.c
index bcf5afd..94d8840 100644
--- a/src/sim.c
+++ b/src/sim.c
@@ -321,8 +321,9 @@ static char **get_service_numbers(GSList *service_numbers)
        return ret;
 }
 
-static void service_number_free(struct service_number *num)
+static void service_number_free(gpointer pointer)
 {
+       struct service_number *num = pointer;
        g_free(num->id);
        g_free(num);
 }
@@ -615,8 +616,7 @@ static DBusMessage *sim_set_property(DBusConnection *conn, 
DBusMessage *msg,
                set_ok = set_own_numbers(sim, own_numbers, msg);
 
 error:
-               g_slist_foreach(own_numbers, (GFunc) g_free, 0);
-               g_slist_free(own_numbers);
+               g_slist_free_full(own_numbers, g_free);
 
                if (set_ok)
                        return NULL;
@@ -1195,8 +1195,7 @@ check:
                char **own_numbers;
                DBusConnection *conn = ofono_dbus_get_connection();
 
-               g_slist_foreach(sim->own_numbers, (GFunc) g_free, NULL);
-               g_slist_free(sim->own_numbers);
+               g_slist_free_full(sim->own_numbers, g_free);
                sim->own_numbers = sim->new_numbers;
 
                own_numbers = get_own_numbers(sim->own_numbers);
@@ -1208,8 +1207,7 @@ check:
 
                g_strfreev(own_numbers);
        } else {
-               g_slist_foreach(sim->new_numbers, (GFunc) g_free, NULL);
-               g_slist_free(sim->new_numbers);
+               g_slist_free_full(sim->new_numbers, g_free);
        }
 
        sim->new_numbers = NULL;
@@ -1302,9 +1300,7 @@ static void sim_service_numbers_changed(int id, void 
*userdata)
        struct ofono_sim *sim = userdata;
 
        if (sim->service_numbers) {
-               g_slist_foreach(sim->service_numbers,
-                               (GFunc)service_number_free, NULL);
-               g_slist_free(sim->service_numbers);
+               g_slist_free_full(sim->service_numbers, service_number_free);
                sim->service_numbers = NULL;
        }
 
@@ -2025,13 +2021,11 @@ skip_efpl:
        }
 
        if (efli) {
-               g_slist_foreach(efli, (GFunc)g_free, NULL);
-               g_slist_free(efli);
+               g_slist_free_full(efli, g_free);
        }
 
        if (efpl) {
-               g_slist_foreach(efpl, (GFunc)g_free, NULL);
-               g_slist_free(efpl);
+               g_slist_free_full(efpl, g_free);
        }
 
        if (sim->language_prefs != NULL)
@@ -2394,15 +2388,12 @@ static void sim_free_main_state(struct ofono_sim *sim)
        sim->mnc[0] = '\0';
 
        if (sim->own_numbers) {
-               g_slist_foreach(sim->own_numbers, (GFunc)g_free, NULL);
-               g_slist_free(sim->own_numbers);
+               g_slist_free_full(sim->own_numbers, g_free);
                sim->own_numbers = NULL;
        }
 
        if (sim->service_numbers) {
-               g_slist_foreach(sim->service_numbers,
-                               (GFunc)service_number_free, NULL);
-               g_slist_free(sim->service_numbers);
+               g_slist_free_full(sim->service_numbers, service_number_free);
                sim->service_numbers = NULL;
                sim->sdn_ready = FALSE;
        }
-- 
1.9.1
_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to