degesch: fix display of empty objects in /set
This commit is contained in:
parent
c839649551
commit
d39ffe440f
34
common.c
34
common.c
|
@ -1273,6 +1273,26 @@ config_item_write_string (struct str *output, const struct str *s)
|
||||||
str_append_c (output, '"');
|
str_append_c (output, '"');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
config_item_write_object
|
||||||
|
(struct config_writer *self, struct config_item_ *value)
|
||||||
|
{
|
||||||
|
char indent[self->indent + 1];
|
||||||
|
memset (indent, '\t', self->indent);
|
||||||
|
indent[self->indent] = 0;
|
||||||
|
|
||||||
|
str_append_c (self->output, '{');
|
||||||
|
if (value->value.object.len)
|
||||||
|
{
|
||||||
|
self->indent++;
|
||||||
|
str_append_c (self->output, '\n');
|
||||||
|
config_item_write_object_innards (self, value);
|
||||||
|
self->indent--;
|
||||||
|
str_append (self->output, indent);
|
||||||
|
}
|
||||||
|
str_append_c (self->output, '}');
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
config_item_write_value (struct config_writer *self, struct config_item_ *value)
|
config_item_write_value (struct config_writer *self, struct config_item_ *value)
|
||||||
{
|
{
|
||||||
|
@ -1292,20 +1312,8 @@ config_item_write_value (struct config_writer *self, struct config_item_ *value)
|
||||||
config_item_write_string (self->output, &value->value.string);
|
config_item_write_string (self->output, &value->value.string);
|
||||||
break;
|
break;
|
||||||
case CONFIG_ITEM_OBJECT:
|
case CONFIG_ITEM_OBJECT:
|
||||||
{
|
config_item_write_object (self, value);
|
||||||
char indent[self->indent + 1];
|
|
||||||
memset (indent, '\t', self->indent);
|
|
||||||
indent[self->indent] = 0;
|
|
||||||
|
|
||||||
str_append (self->output, "{\n");
|
|
||||||
|
|
||||||
self->indent++;
|
|
||||||
config_item_write_object_innards (self, value);
|
|
||||||
self->indent--;
|
|
||||||
|
|
||||||
str_append_printf (self->output, "%s}", indent);
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
hard_assert (!"invalid item type");
|
hard_assert (!"invalid item type");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue