[libav-commits] avprobe: Support printing strings with empty keys

Vittorio Giovara git at libav.org
Mon Apr 9 17:41:02 CEST 2018


Module: libav
Branch: master
Commit: f821b2ea276ebe7ecd854fbef9e3acd691bbf074

Author:    Vittorio Giovara <vittorio.giovara at gmail.com>
Committer: Vittorio Giovara <vittorio.giovara at gmail.com>
Date:      Wed Apr  4 17:29:34 2018 +0200

avprobe: Support printing strings with empty keys

---

 avtools/avprobe.c | 38 ++++++++++++++++++++++++++------------
 1 file changed, 26 insertions(+), 12 deletions(-)

diff --git a/avtools/avprobe.c b/avtools/avprobe.c
index a9ca193..d680904 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, '\"');
+    }
 }
 
 /*



More information about the libav-commits mailing list