[PATCH 1/5] core: use g_list_copy_deep for deep copying a GList
Ben Chan
benchan at chromium.org
Fri Jun 23 16:11:04 UTC 2017
---
src/mm-base-modem.c | 6 +-----
src/mm-bearer-list.c | 5 +++--
src/mm-broadband-modem-qmi.c | 3 +--
src/mm-device.c | 8 +++-----
4 files changed, 8 insertions(+), 14 deletions(-)
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c
index d4f94495..29df53c3 100644
--- a/src/mm-base-modem.c
+++ b/src/mm-base-modem.c
@@ -706,13 +706,9 @@ mm_base_modem_peek_best_data_port (MMBaseModem *self,
GList *
mm_base_modem_get_data_ports (MMBaseModem *self)
{
- GList *copy;
-
g_return_val_if_fail (MM_IS_BASE_MODEM (self), NULL);
- copy = g_list_copy (self->priv->data);
- g_list_foreach (copy, (GFunc)g_object_ref, NULL);
- return copy;
+ return g_list_copy_deep (self->priv->data, (GCopyFunc)g_object_ref, NULL);
}
GList *
diff --git a/src/mm-bearer-list.c b/src/mm-bearer-list.c
index 9ad98aeb..81e847a7 100644
--- a/src/mm-bearer-list.c
+++ b/src/mm-bearer-list.c
@@ -250,8 +250,9 @@ mm_bearer_list_disconnect_all_bearers (MMBearerList *self,
ctx = g_new0 (DisconnectAllContext, 1);
/* Get a copy of the list */
- ctx->pending = g_list_copy (self->priv->bearers);
- g_list_foreach (ctx->pending, (GFunc) g_object_ref, NULL);
+ ctx->pending = g_list_copy_deep (self->priv->bearers,
+ (GCopyFunc)g_object_ref,
+ NULL);
task = g_task_new (self, NULL, callback, user_data);
g_task_set_task_data (task,
diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c
index 0e060d9a..38356426 100644
--- a/src/mm-broadband-modem-qmi.c
+++ b/src/mm-broadband-modem-qmi.c
@@ -10353,8 +10353,7 @@ firmware_load_list (MMIfaceModemFirmware *_self,
firmware_load_list);
/* We'll return the new list of new references we create here */
- dup = g_list_copy (self->priv->firmware_list);
- g_list_foreach (dup, (GFunc)g_object_ref, NULL);
+ dup = g_list_copy_deep (self->priv->firmware_list, (GCopyFunc)g_object_ref, NULL);
g_simple_async_result_set_op_res_gpointer (result, dup, NULL);
g_simple_async_result_complete_in_idle (result);
diff --git a/src/mm-device.c b/src/mm-device.c
index 1b69f3de..1e53870a 100644
--- a/src/mm-device.c
+++ b/src/mm-device.c
@@ -509,11 +509,9 @@ mm_device_peek_port_probe_list (MMDevice *self)
GList *
mm_device_get_port_probe_list (MMDevice *self)
{
- GList *copy;
-
- copy = g_list_copy (self->priv->port_probes);
- g_list_foreach (copy, (GFunc)g_object_ref, NULL);
- return copy;
+ return g_list_copy_deep (self->priv->port_probes,
+ (GCopyFunc)g_object_ref,
+ NULL);
}
gboolean
--
2.13.1.611.g7e3b11ae1-goog
More information about the ModemManager-devel
mailing list