summaryrefslogtreecommitdiff
path: root/libnm-util/nm-connection.c
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2013-03-26 17:34:31 -0500
committerDan Williams <dcbw@redhat.com>2013-04-01 17:18:54 -0500
commita8d33c7e2c999463560a544d26c1f09f6938380d (patch)
tree9d8c40a40bd7ae48b0a589ed10277b11eea91dcb /libnm-util/nm-connection.c
parent7a7ce3b8e248203a6faed5be5641dcc4fdc13c60 (diff)
downloadNetworkManager-a8d33c7e2c999463560a544d26c1f09f6938380d.tar.gz
libnm-util: convert nm_connection_duplicate() to GHashTableIter
Diffstat (limited to 'libnm-util/nm-connection.c')
-rw-r--r--libnm-util/nm-connection.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/libnm-util/nm-connection.c b/libnm-util/nm-connection.c
index 1b05ebb9bc..45a38b5842 100644
--- a/libnm-util/nm-connection.c
+++ b/libnm-util/nm-connection.c
@@ -1150,12 +1150,6 @@ nm_connection_new_from_hash (GHashTable *hash, GError **error)
return connection;
}
-static void
-duplicate_cb (gpointer key, gpointer value, gpointer user_data)
-{
- nm_connection_add_setting (NM_CONNECTION (user_data), nm_setting_duplicate (NM_SETTING (value)));
-}
-
/**
* nm_connection_duplicate:
* @connection: the #NMConnection to duplicate
@@ -1169,12 +1163,17 @@ NMConnection *
nm_connection_duplicate (NMConnection *connection)
{
NMConnection *dup;
+ GHashTableIter iter;
+ NMSetting *setting;
g_return_val_if_fail (NM_IS_CONNECTION (connection), NULL);
dup = nm_connection_new ();
nm_connection_set_path (dup, nm_connection_get_path (connection));
- g_hash_table_foreach (NM_CONNECTION_GET_PRIVATE (connection)->settings, duplicate_cb, dup);
+
+ g_hash_table_iter_init (&iter, NM_CONNECTION_GET_PRIVATE (connection)->settings);
+ while (g_hash_table_iter_next (&iter, NULL, (gpointer) &setting))
+ nm_connection_add_setting (dup, nm_setting_duplicate (setting));
return dup;
}