cli: print_fields(): don't segfault when a value is not set
This commit is contained in:
@@ -124,6 +124,7 @@ print_fields (const NmcPrintFields fields, const NmcOutputField field_values[])
|
|||||||
char *line = NULL;
|
char *line = NULL;
|
||||||
char *indent_str;
|
char *indent_str;
|
||||||
const char *value;
|
const char *value;
|
||||||
|
const char *not_set_str = _("not set");
|
||||||
int i, idx;
|
int i, idx;
|
||||||
gboolean multiline = fields.flags & NMC_PF_FLAG_MULTILINE;
|
gboolean multiline = fields.flags & NMC_PF_FLAG_MULTILINE;
|
||||||
gboolean terse = fields.flags & NMC_PF_FLAG_TERSE;
|
gboolean terse = fields.flags & NMC_PF_FLAG_TERSE;
|
||||||
@@ -161,7 +162,7 @@ print_fields (const NmcPrintFields fields, const NmcOutputField field_values[])
|
|||||||
char *tmp;
|
char *tmp;
|
||||||
idx = g_array_index (fields.indices, int, i);
|
idx = g_array_index (fields.indices, int, i);
|
||||||
tmp = g_strdup_printf ("%s:", _(field_values[idx].name_l10n));
|
tmp = g_strdup_printf ("%s:", _(field_values[idx].name_l10n));
|
||||||
printf ("%-*s%s\n", terse ? 0 : 20, tmp, field_values[idx].value);
|
printf ("%-*s%s\n", terse ? 0 : 20, tmp, field_values[idx].value ? field_values[idx].value : not_set_str);
|
||||||
g_free (tmp);
|
g_free (tmp);
|
||||||
}
|
}
|
||||||
if (pretty) {
|
if (pretty) {
|
||||||
@@ -181,7 +182,7 @@ print_fields (const NmcPrintFields fields, const NmcOutputField field_values[])
|
|||||||
if (field_names)
|
if (field_names)
|
||||||
value = _(field_values[idx].name_l10n);
|
value = _(field_values[idx].name_l10n);
|
||||||
else
|
else
|
||||||
value = field_values[idx].value;
|
value = field_values[idx].value ? field_values[idx].value : not_set_str;
|
||||||
if (terse) {
|
if (terse) {
|
||||||
if (escape) {
|
if (escape) {
|
||||||
const char *p = value;
|
const char *p = value;
|
||||||
|
Reference in New Issue
Block a user