lavu/parseutils: fix av_small_strptime() whitespace directive parsing
authorStefano Sabatini <stefasab@gmail.com>
Sun, 16 Sep 2012 13:22:31 +0000 (15:22 +0200)
committerStefano Sabatini <stefasab@gmail.com>
Mon, 17 Sep 2012 10:45:56 +0000 (12:45 +0200)
According to POSIX, strptime() should consume whitespaces in the date
string everytime a whitespace conversion specification is found in the
date format specification. Make av_small_strptime() conform with this
behavior.

In particular, should fix trac ticket #1739.

libavutil/parseutils.c
libavutil/version.h

index 2440d27..8dc583c 100644 (file)
@@ -443,6 +443,12 @@ char *av_small_strptime(const char *p, const char *fmt, struct tm *dt)
     int c, val;
 
     for(;;) {
+        /* consume time string until a non whitespace char is found */
+        while (isspace(*fmt)) {
+            while (isspace(*p))
+                p++;
+            fmt++;
+        }
         c = *fmt++;
         if (c == '\0') {
             return (char *)p;
index ac2c09d..3361069 100644 (file)
@@ -40,7 +40,7 @@
 
 #define LIBAVUTIL_VERSION_MAJOR 51
 #define LIBAVUTIL_VERSION_MINOR 73
-#define LIBAVUTIL_VERSION_MICRO 100
+#define LIBAVUTIL_VERSION_MICRO 101
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
                                                LIBAVUTIL_VERSION_MINOR, \