summaryrefslogtreecommitdiff
path: root/libnm-util
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-03-24 15:58:28 +0100
committerThomas Haller <thaller@redhat.com>2016-03-29 11:56:27 +0200
commitf8a6b13369cdaf73d28e069e00b6185967eca5ad (patch)
treea170f59f6e7cab2bab66484b4aa6e53a8b5e74f3 /libnm-util
parent564cf78f69520e1694b0ca05e5ad9d8b2fba18f2 (diff)
downloadNetworkManager-f8a6b13369cdaf73d28e069e00b6185967eca5ad.tar.gz
libnm-util: don't print any warnings during nm_setting_new_from_hash()
Warnings aren't great, especially if they can realistically be triggered by a newer NetworkManager version. Just accept what we can and ignore the rest silently.
Diffstat (limited to 'libnm-util')
-rw-r--r--libnm-util/nm-setting.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/libnm-util/nm-setting.c b/libnm-util/nm-setting.c
index add3ad9795..990d6fe73b 100644
--- a/libnm-util/nm-setting.c
+++ b/libnm-util/nm-setting.c
@@ -379,9 +379,6 @@ nm_setting_new_from_hash (GType setting_type, GHashTable *hash)
const char *prop_name;
GValue *src_value;
GObjectClass *class;
- guint n_params = 0;
- GParameter *params;
- int i;
g_return_val_if_fail (G_TYPE_IS_INSTANTIATABLE (setting_type), NULL);
g_return_val_if_fail (hash != NULL, NULL);
@@ -390,11 +387,11 @@ nm_setting_new_from_hash (GType setting_type, GHashTable *hash)
* already been used.
*/
class = g_type_class_ref (setting_type);
- params = g_new0 (GParameter, g_hash_table_size (hash));
+
+ setting = (NMSetting *) g_object_new (setting_type, NULL);
g_hash_table_iter_init (&iter, hash);
while (g_hash_table_iter_next (&iter, (gpointer) &prop_name, (gpointer) &src_value)) {
- GValue *dst_value = &params[n_params].value;
GParamSpec *param_spec;
param_spec = g_object_class_find_property (class, prop_name);
@@ -402,21 +399,12 @@ nm_setting_new_from_hash (GType setting_type, GHashTable *hash)
/* Assume that any unrecognized property either can be ignored, or
* else has a backward-compatibility equivalent.
*/
- g_debug ("Ignoring unrecognized property '%s'", prop_name);
continue;
}
- g_value_init (dst_value, G_VALUE_TYPE (src_value));
- g_value_copy (src_value, dst_value);
- params[n_params++].name = prop_name;
+ nm_g_object_set_property ((GObject *) setting, prop_name, src_value, NULL);
}
- setting = (NMSetting *) g_object_newv (setting_type, n_params, params);
-
- for (i = 0; i < n_params; i++)
- g_value_unset (&params[i].value);
-
- g_free (params);
g_type_class_unref (class);
return setting;