summaryrefslogtreecommitdiff
path: root/avtools
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2018-04-04 17:29:34 +0200
committerVittorio Giovara <vittorio.giovara@gmail.com>2018-04-09 16:50:03 +0200
commitf821b2ea276ebe7ecd854fbef9e3acd691bbf074 (patch)
treeb62f09c1bde0fc266dd2253eda3d47eb0f61a11c /avtools
parentcc06f7bd10c236539b4f6f87b795c459dd873770 (diff)
avprobe: Support printing strings with empty keys
Diffstat (limited to 'avtools')
-rw-r--r--avtools/avprobe.c38
1 files changed, 26 insertions, 12 deletions
diff --git a/avtools/avprobe.c b/avtools/avprobe.c
index a9ca1934ca..d6809042f7 100644
--- a/avtools/avprobe.c
+++ b/avtools/avprobe.c
@@ -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, '\"');
+ }
}
/*