The json print library was toggling pretty print at the end of
an array to workaround a bug in underlying json_writer.
Instead, just fix json_writer to pretty print array correctly.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David Ahern <dsahern@gmail.com>
void close_json_array(enum output_type type, const char *str)
{
if (_IS_JSON_CONTEXT(type)) {
- jsonw_pretty(_jw, false);
jsonw_end_array(_jw);
- jsonw_pretty(_jw, true);
} else if (_IS_FP_CONTEXT(type)) {
printf("%s", str);
}
void jsonw_start_array(json_writer_t *self)
{
jsonw_begin(self, '[');
+ if (self->pretty)
+ putc(' ', self->out);
}
void jsonw_end_array(json_writer_t *self)
{
+ if (self->pretty && self->sep)
+ putc(' ', self->out);
+ self->sep = '\0';
jsonw_end(self, ']');
}