diff options
| author | Sebastien Bacher <seb128@ubuntu.com> | 2019-01-25 10:49:37 +0100 |
|---|---|---|
| committer | Sebastien Bacher <seb128@ubuntu.com> | 2019-01-25 10:49:37 +0100 |
| commit | 404ebe62622150e77e311777dff8617eb974e834 (patch) | |
| tree | cc7f73d3e435d5b3ee85e2bef833e8de1fb133e3 /clients/cli/settings.c | |
| parent | 227c401a10a930af6fd5f123aef345fcd130d6aa (diff) | |
| parent | 3626b425d1bc017fdc6f1ea0cfd329d1e1681641 (diff) | |
Merge remote-tracking branch 'salsa/upstream' into upstream
Diffstat (limited to 'clients/cli/settings.c')
| -rw-r--r-- | clients/cli/settings.c | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/clients/cli/settings.c b/clients/cli/settings.c index 01142ba2..2d231e1c 100644 --- a/clients/cli/settings.c +++ b/clients/cli/settings.c @@ -318,7 +318,7 @@ _set_fcn_precheck_connection_secondaries (const char *value, char **iter; gboolean modified = FALSE; - strv0 = nm_utils_strsplit_set (value, " \t,"); + strv0 = nm_utils_strsplit_set (value, " \t,", FALSE); if (!strv0) return TRUE; @@ -662,25 +662,19 @@ nmc_setting_remove_property_option (NMSetting *setting, char ** nmc_setting_get_valid_properties (NMSetting *setting) { - char **valid_props = NULL; - GParamSpec **props, **iter; - guint num; - int i; - - /* Iterate through properties */ - i = 0; - props = g_object_class_list_properties (G_OBJECT_GET_CLASS (G_OBJECT (setting)), &num); - valid_props = g_malloc0 (sizeof (char*) * (num + 1)); - for (iter = props; iter && *iter; iter++) { - const char *key_name = g_param_spec_get_name (*iter); - - /* Add all properties except for "name" that is non-editable */ - if (g_strcmp0 (key_name, "name") != 0) - valid_props[i++] = g_strdup (key_name); - } - valid_props[i] = NULL; - g_free (props); + const NMMetaSettingInfoEditor *setting_info; + char **valid_props; + guint i, num; + + setting_info = nm_meta_setting_info_editor_find_by_setting (setting); + num = setting_info ? setting_info->properties_num : 0; + + valid_props = g_new (char *, num + 1); + for (i = 0; i < num; i++) + valid_props[i] = g_strdup (setting_info->properties[i]->property_name); + + valid_props[num] = NULL; return valid_props; } @@ -814,6 +808,7 @@ setting_details (const NmcConfig *nmc_config, NMSetting *setting, const char *on if (!nmc_print (nmc_config, (gpointer[]) { setting, NULL }, NULL, + NULL, (const NMMetaAbstractInfo *const[]) { (const NMMetaAbstractInfo *) setting_info, NULL }, fields_str, &error)) |