From f8a6b13369cdaf73d28e069e00b6185967eca5ad Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 24 Mar 2016 15:58:28 +0100 Subject: [PATCH] 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. --- libnm-util/nm-setting.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/libnm-util/nm-setting.c b/libnm-util/nm-setting.c index add3ad979..990d6fe73 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 = ¶ms[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 (¶ms[i].value); - - g_free (params); g_type_class_unref (class); return setting; -- 2.17.1