summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancesco Giudici <fgiudici@redhat.com>2017-01-17 11:58:40 +0100
committerFrancesco Giudici <fgiudici@redhat.com>2017-03-22 14:59:56 +0100
commitfeb8c9fcfa89d1a9e021dc5e0f8fda50cf438afc (patch)
treedd0f8ee5b9bda815940ea1896e429acbc8df38c2
parent926823f6397ff7623e6f4d27d98988d95209887a (diff)
downloadNetworkManager-feb8c9fcfa89d1a9e021dc5e0f8fda50cf438afc.tar.gz
nmcli: always print "--" for empty or unset values in normal/pretty output
This was already true for tabular ouput mode. Align to this behavior when printing in multiline mode.
-rw-r--r--clients/cli/settings.c7
-rw-r--r--clients/cli/utils.c7
2 files changed, 9 insertions, 5 deletions
diff --git a/clients/cli/settings.c b/clients/cli/settings.c
index d2d94913e4..87b1f50f71 100644
--- a/clients/cli/settings.c
+++ b/clients/cli/settings.c
@@ -2503,10 +2503,13 @@ nmc_property_connection_get_permissions (NMSetting *setting, NmcPropertyGetType
if (nm_setting_connection_get_permission (s_con, i, &perm_type, &perm_item, NULL))
g_string_append_printf (perm, "%s:%s,", perm_type, perm_item);
}
- if (perm->len > 0)
+ if (perm->len > 0) {
g_string_truncate (perm, perm->len-1); /* remove trailing , */
+ return g_string_free (perm, FALSE);
+ }
- return g_string_free (perm, FALSE);
+ /* No value from get_permission */
+ return g_string_free (perm, TRUE);
}
DEFINE_GETTER (nmc_property_connection_get_zone, NM_SETTING_CONNECTION_ZONE)
diff --git a/clients/cli/utils.c b/clients/cli/utils.c
index e0b9d1d9a2..5c184ed992 100644
--- a/clients/cli/utils.c
+++ b/clients/cli/utils.c
@@ -1028,7 +1028,8 @@ get_value_to_print (NmCli *nmc,
else
value = field->value ?
(is_array ? g_strjoinv (" | ", (char **) field->value) :
- (char *) field->value) :
+ (*((char *) field->value) ? (char *) field->value :
+ (char *) not_set_str)) :
(char *) not_set_str;
free_value = field->value && is_array && !field_name;
@@ -1143,7 +1144,7 @@ print_required_fields (NmCli *nmc, const NmcOutputField field_values[])
const char *val = (const char*) field_values[idx].value;
char *print_val;
- val = val ? val : not_set_str;
+ val = val && *val ? val : not_set_str;
print_val = colorize_string (nmc, field_values[idx].color, field_values[idx].color_fmt,
val, &free_print_val);
tmp = g_strdup_printf ("%s%s%s:",
@@ -1192,7 +1193,7 @@ print_required_fields (NmCli *nmc, const NmcOutputField field_values[])
} else {
width1 = strlen (value);
width2 = nmc_string_screen_width (value, NULL); /* Width of the string (in screen colums) */
- g_string_append_printf (str, "%-*s", field_values[idx].width + width1 - width2, strlen (value) > 0 ? value : "--");
+ g_string_append_printf (str, "%-*s", field_values[idx].width + width1 - width2, strlen (value) > 0 ? value : not_set_str);
g_string_append_c (str, ' '); /* Column separator */
table_width += field_values[idx].width + width1 - width2 + 1;
}