[FFmpeg-cvslog] lavf/segment: Simplify CSV field quoting code

Alexander Strasser git at videolan.org
Sat Sep 15 23:05:08 CEST 2012


ffmpeg | branch: master | Alexander Strasser <eclipse7 at gmx.net> | Sun Sep  9 21:27:13 2012 +0200| [bac1b31bf63554bd9e0e38ef06125234aff41dc9] | committer: Alexander Strasser

lavf/segment: Simplify CSV field quoting code

Should also be faster (though I doubt that hardly ever matters
for the usage here).

Also remove the pointer copy. Since we do not need to reset the
pointer to the start of the string, it is not needed anymore.

Signed-off-by: Alexander Strasser <eclipse7 at gmx.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bac1b31bf63554bd9e0e38ef06125234aff41dc9
---

 libavformat/segment.c |   16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/libavformat/segment.c b/libavformat/segment.c
index dc12349..07b8da3 100644
--- a/libavformat/segment.c
+++ b/libavformat/segment.c
@@ -76,23 +76,15 @@ typedef struct {
 
 static void print_csv_escaped_str(AVIOContext *ctx, const char *str)
 {
-    const char *p;
-    int quote = 0;
-
-    /* check if input needs quoting */
-    for (p = str; *p; p++)
-        if (strchr("\",\n\r", *p)) {
-            quote = 1;
-            break;
-        }
+    int quote = !!str[strcspn(str, "\",\n\r")];
 
     if (quote)
         avio_w8(ctx, '"');
 
-    for (p = str; *p; p++) {
-        if (*p == '"')
+    for (; *str; str++) {
+        if (*str == '"')
             avio_w8(ctx, '"');
-        avio_w8(ctx, *p);
+        avio_w8(ctx, *str);
     }
     if (quote)
         avio_w8(ctx, '"');



More information about the ffmpeg-cvslog mailing list