[FFmpeg-cvslog] r25623 - in trunk/libavutil: avutil.h eval.c

stefano subversion
Mon Nov 1 10:34:12 CET 2010


Author: stefano
Date: Mon Nov  1 10:34:12 2010
New Revision: 25623

Log:
Fix evaluation of expressions of the form: E1;E2.

The pointer to the char ';' has to be increased before to evaluate
";E2".

Modified:
   trunk/libavutil/avutil.h
   trunk/libavutil/eval.c

Modified: trunk/libavutil/avutil.h
==============================================================================
--- trunk/libavutil/avutil.h	Mon Nov  1 08:45:13 2010	(r25622)
+++ trunk/libavutil/avutil.h	Mon Nov  1 10:34:12 2010	(r25623)
@@ -41,7 +41,7 @@
 
 #define LIBAVUTIL_VERSION_MAJOR 50
 #define LIBAVUTIL_VERSION_MINOR 32
-#define LIBAVUTIL_VERSION_MICRO  3
+#define LIBAVUTIL_VERSION_MICRO  4
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
                                                LIBAVUTIL_VERSION_MINOR, \

Modified: trunk/libavutil/eval.c
==============================================================================
--- trunk/libavutil/eval.c	Mon Nov  1 08:45:13 2010	(r25622)
+++ trunk/libavutil/eval.c	Mon Nov  1 10:34:12 2010	(r25623)
@@ -404,12 +404,12 @@ static int parse_expr(AVExpr **e, Parser
     if ((ret = parse_subexpr(&e0, p)) < 0)
         return ret;
     while (*p->s == ';') {
+        p->s++;
         e1 = e0;
         if ((ret = parse_subexpr(&e2, p)) < 0) {
             av_free_expr(e1);
             return ret;
         }
-        p->s++;
         e0 = new_eval_expr(e_last, 1, e1, e2);
         if (!e0) {
             av_free_expr(e1);
@@ -534,6 +534,7 @@ int main(void)
     double d;
     const char **expr, *exprs[] = {
         "",
+        "1;2",
         "1+(5-2)^(3-1)+1/2+sin(PI)-max(-2.2,-3.1)",
         "80G/80Gi"
         "1k",



More information about the ffmpeg-cvslog mailing list