Re: [FFmpeg-devel] [PATCH 3/5] ffprobe: switch xml_escape_str to use av_bprint_escape

2017-04-12 Thread Nicolas George
Le tridi 23 germinal, an CCXXV, Rodger Combs a écrit :
> This now escapes single-quotes, so the test reference is updated.
> ---
>  ffprobe.c  | 25 ++---
>  tests/ref/fate/ffprobe_xml |  2 +-
>  2 files changed, 7 insertions(+), 20 deletions(-)

Looks ok, but I do not maintain ffprobe.

Regards,

-- 
  Nicolas George


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH 3/5] ffprobe: switch xml_escape_str to use av_bprint_escape

2017-04-12 Thread Rodger Combs
This now escapes single-quotes, so the test reference is updated.
---
 ffprobe.c  | 25 ++---
 tests/ref/fate/ffprobe_xml |  2 +-
 2 files changed, 7 insertions(+), 20 deletions(-)

diff --git a/ffprobe.c b/ffprobe.c
index 0a9ba14d8d..5c5bdaf3b1 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -1658,21 +1658,10 @@ static av_cold int xml_init(WriterContext *wctx)
 return 0;
 }
 
-static const char *xml_escape_str(AVBPrint *dst, const char *src, void 
*log_ctx)
+static const char *xml_escape_str(AVBPrint *dst, const char *src)
 {
-const char *p;
-
-for (p = src; *p; p++) {
-switch (*p) {
-case '&' : av_bprintf(dst, "%s", "");  break;
-case '<' : av_bprintf(dst, "%s", "");   break;
-case '>' : av_bprintf(dst, "%s", "");   break;
-case '"' : av_bprintf(dst, "%s", ""); break;
-case '\'': av_bprintf(dst, "%s", ""); break;
-default: av_bprint_chars(dst, *p, 1);
-}
-}
-
+av_bprint_clear(dst);
+av_bprint_escape(dst, src, NULL, AV_ESCAPE_MODE_XML, 
AV_ESCAPE_FLAG_ESCAPE_DOUBLE_QUOTE);
 return dst->str;
 }
 
@@ -1747,14 +1736,12 @@ static void xml_print_str(WriterContext *wctx, const 
char *key, const char *valu
 
 if (section->flags & SECTION_FLAG_HAS_VARIABLE_FIELDS) {
 XML_INDENT();
-printf("<%s key=\"%s\"",
-   section->element_name, xml_escape_str(, key, wctx));
-av_bprint_clear();
-printf(" value=\"%s\"/>\n", xml_escape_str(, value, wctx));
+printf("<%s key=\"%s\"", section->element_name, xml_escape_str(, 
key));
+printf(" value=\"%s\"/>\n", xml_escape_str(, value));
 } else {
 if (wctx->nb_item[wctx->level])
 printf(" ");
-printf("%s=\"%s\"", key, xml_escape_str(, value, wctx));
+printf("%s=\"%s\"", key, xml_escape_str(, value));
 }
 
 av_bprint_finalize(, NULL);
diff --git a/tests/ref/fate/ffprobe_xml b/tests/ref/fate/ffprobe_xml
index d2c5ecdf73..8abac000c9 100644
--- a/tests/ref/fate/ffprobe_xml
+++ b/tests/ref/fate/ffprobe_xml
@@ -51,7 +51,7 @@
 
 
 
-
+
 
 
 
-- 
2.11.1

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel