diff --git a/clients/cli/settings.c b/clients/cli/settings.c index 4ac791b394..6bd4f4f675 100644 --- a/clients/cli/settings.c +++ b/clients/cli/settings.c @@ -8805,6 +8805,21 @@ nmc_property_set_gvalue (NMSetting *setting, const char *prop, GValue *value) #define GET_SECRET(show, setting, func) \ (show ? func (setting, NMC_PROPERTY_GET_PRETTY) : g_strdup (_(""))) +static char * +_all_properties (const NmcSettingInfo *setting_info) +{ + GString *str; + guint i; + + str = g_string_sized_new (250); + for (i = 0; i < setting_info->properties_num; i++) { + if (str->len) + g_string_append_c (str, ','); + g_string_append (str, setting_info->properties[i].property_name); + } + return g_string_free (str, FALSE); +} + static gboolean _get_setting_details (const NmcSettingInfo *setting_info, NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) { @@ -8812,13 +8827,14 @@ _get_setting_details (const NmcSettingInfo *setting_info, NMSetting *setting, Nm NmcOutputField *arr; guint i; size_t tmpl_len; + gs_free char *s_all = NULL; g_return_val_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (setting, setting_info->general->get_setting_gtype ()), FALSE); tmpl_len = sizeof (NmcOutputField) * (setting_info->properties_num + 1); tmpl = g_memdup (_get_nmc_output_fields (setting_info), tmpl_len); - nmc->print_fields.indices = parse_output_fields (one_prop ?: setting_info->all_properties, + nmc->print_fields.indices = parse_output_fields (one_prop ?: (s_all = _all_properties (setting_info)), tmpl, FALSE, NULL, NULL); arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_FIELD_NAMES); g_ptr_array_add (nmc->output_data, arr); @@ -10009,27 +10025,6 @@ static const NmcPropertyInfo properties_setting_connection[] = { }, }; -#define NMC_FIELDS_SETTING_CONNECTION_ALL "name"","\ - NM_SETTING_CONNECTION_ID","\ - NM_SETTING_CONNECTION_UUID","\ - NM_SETTING_CONNECTION_STABLE_ID","\ - NM_SETTING_CONNECTION_INTERFACE_NAME","\ - NM_SETTING_CONNECTION_TYPE","\ - NM_SETTING_CONNECTION_AUTOCONNECT","\ - NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY","\ - NM_SETTING_CONNECTION_AUTOCONNECT_RETRIES","\ - NM_SETTING_CONNECTION_TIMESTAMP","\ - NM_SETTING_CONNECTION_READ_ONLY","\ - NM_SETTING_CONNECTION_PERMISSIONS","\ - NM_SETTING_CONNECTION_ZONE","\ - NM_SETTING_CONNECTION_MASTER","\ - NM_SETTING_CONNECTION_SLAVE_TYPE","\ - NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES","\ - NM_SETTING_CONNECTION_SECONDARIES","\ - NM_SETTING_CONNECTION_GATEWAY_PING_TIMEOUT","\ - NM_SETTING_CONNECTION_METERED","\ - NM_SETTING_CONNECTION_LLDP - const NmcSettingInfo nmc_setting_infos[_NM_META_SETTING_TYPE_NUM] = { [NM_META_SETTING_TYPE_802_1X] = { .general = &nm_meta_setting_infos[NM_META_SETTING_TYPE_802_1X], @@ -10064,7 +10059,6 @@ const NmcSettingInfo nmc_setting_infos[_NM_META_SETTING_TYPE_NUM] = { .get_setting_details = _get_setting_details, .properties = properties_setting_connection, .properties_num = G_N_ELEMENTS (properties_setting_connection), - .all_properties = NMC_FIELDS_SETTING_CONNECTION_ALL, }, [NM_META_SETTING_TYPE_DCB] = { .general = &nm_meta_setting_infos[NM_META_SETTING_TYPE_DCB], diff --git a/clients/cli/settings.h b/clients/cli/settings.h index 2cf53936ee..89a9c7c6d1 100644 --- a/clients/cli/settings.h +++ b/clients/cli/settings.h @@ -84,9 +84,10 @@ struct _NmcSettingInfo { NmCli *nmc, const char *one_prop, gboolean secrets); + /* the order of the properties matter. The first *must* be the + * "name", and then the order is as they are listed by default. */ const NmcPropertyInfo *properties; guint properties_num; - const char *all_properties; }; extern const NmcSettingInfo nmc_setting_infos[_NM_META_SETTING_TYPE_NUM];