avprobe: Support printing strings with empty keys

This commit is contained in:
Vittorio Giovara 2018-04-04 17:29:34 +02:00
parent cc06f7bd10
commit f821b2ea27
1 changed files with 26 additions and 12 deletions

View File

@ -235,10 +235,14 @@ static void ini_print_integer(const char *key, int64_t value)
static void ini_print_string(const char *key, const char *value)
{
ini_escape_print(key);
avio_printf(probe_out, "=");
ini_escape_print(value);
avio_w8(probe_out, '\n');
if (key) {
ini_escape_print(key);
avio_printf(probe_out, "=%s\n", value);
} else {
if (octx.prefix[octx.level -1].nb_elems)
avio_printf(probe_out, ",");
avio_printf(probe_out, "%s", value);
}
}
/*
@ -329,14 +333,24 @@ static void json_escape_print(const char *s)
static void json_print_string(const char *key, const char *value)
{
if (octx.prefix[octx.level -1].nb_elems)
avio_printf(probe_out, ",\n");
AVP_INDENT();
avio_w8(probe_out, '\"');
json_escape_print(key);
avio_printf(probe_out, "\" : \"");
json_escape_print(value);
avio_w8(probe_out, '\"');
if (key) {
if (octx.prefix[octx.level -1].nb_elems)
avio_printf(probe_out, ",\n");
AVP_INDENT();
avio_w8(probe_out, '\"');
json_escape_print(key);
avio_printf(probe_out, "\" : \"");
json_escape_print(value);
avio_w8(probe_out, '\"');
} else {
if (octx.prefix[octx.level -1].nb_elems)
avio_printf(probe_out, ", ");
else
AVP_INDENT();
avio_w8(probe_out, '\"');
json_escape_print(value);
avio_w8(probe_out, '\"');
}
}
/*