Hello, Is someone able to take a look at this and accept or reject it -- its been a few days since I submitted.
Sorry to pester -- thanks in advance. On Mon, Feb 20, 2017 at 7:48 PM, Micah Galizia <micahgali...@gmail.com> wrote: > Signed-off-by: Micah Galizia <micahgali...@gmail.com> > --- > libavutil/parseutils.c | 28 ++++++++++++++++++++++++++++ > libavutil/tests/parseutils.c | 7 +++++++ > tests/ref/fate/parseutils | 7 +++++++ > 3 files changed, 42 insertions(+) > > diff --git a/libavutil/parseutils.c b/libavutil/parseutils.c > index 86d3dac..7ca07b3 100644 > --- a/libavutil/parseutils.c > +++ b/libavutil/parseutils.c > @@ -140,6 +140,11 @@ static const VideoRateAbbr video_rate_abbrs[]= { > { "ntsc-film", { 24000, 1001 } }, > }; > > +static const char *months[12] = { > + "january", "february", "march", "april", "may", "june", "july", "august", > + "september", "october", "november", "december" > +}; > + > int av_parse_video_size(int *width_ptr, int *height_ptr, const char *str) > { > int i; > @@ -466,6 +471,21 @@ static int date_get_num(const char **pp, > return val; > } > > +static int date_get_month(const char **pp) { > + int i = 0; > + for (; i < 12; i++) { > + if (!av_strncasecmp(*pp, months[i], 3)) { > + const char *mo_full = months[i] + 3; > + int len = strlen(mo_full); > + *pp += 3; > + if (len > 0 && !av_strncasecmp(*pp, mo_full, len)) > + *pp += len; > + return i; > + } > + } > + return -1; > +} > + > char *av_small_strptime(const char *p, const char *fmt, struct tm *dt) > { > int c, val; > @@ -525,6 +545,14 @@ char *av_small_strptime(const char *p, const char *fmt, > struct tm *dt) > if (!p) > return NULL; > break; > + case 'b': > + case 'B': > + case 'h': > + val = date_get_month(&p); > + if (val == -1) > + return NULL; > + dt->tm_mon = val; > + break; > case '%': > if (*p++ != '%') > return NULL; > diff --git a/libavutil/tests/parseutils.c b/libavutil/tests/parseutils.c > index 682b390..180f624 100644 > --- a/libavutil/tests/parseutils.c > +++ b/libavutil/tests/parseutils.c > @@ -138,6 +138,13 @@ static void test_av_small_strptime(void) > { "%Y - %m - %d", "2012-12-21" }, > { "%Y-%m-%d %H:%M:%S", "2012-12-21 20:12:21" }, > { " %Y - %m - %d %H : %M : %S", " 2012 - 12 - 21 20 : 12 : 21" > }, > + { " %Y - %b - %d %H : %M : %S", " 2012 - nOV - 21 20 : 12 : > 21" }, > + { " %Y - %B - %d %H : %M : %S", " 2012 - nOVemBeR - 21 20 : 12 > : 21" }, > + { " %Y - %B%d %H : %M : %S", " 2012 - may21 20 : 12 : 21" }, > + { " %Y - %B%d %H : %M : %S", " 2012 - mby21 20 : 12 : 21" }, > + { " %Y - %B - %d %H : %M : %S", " 2012 - JunE - 21 20 : 12 : > 21" }, > + { " %Y - %B - %d %H : %M : %S", " 2012 - Jane - 21 20 : 12 : > 21" }, > + { " %Y - %B - %d %H : %M : %S", " 2012 - January - 21 20 : 12 > : 21" }, > }; > > av_log_set_level(AV_LOG_DEBUG); > diff --git a/tests/ref/fate/parseutils b/tests/ref/fate/parseutils > index 1aad5ec..568b6d2 100644 > --- a/tests/ref/fate/parseutils > +++ b/tests/ref/fate/parseutils > @@ -68,6 +68,13 @@ fmt:'%Y-%m-%d' spec:'2012-12-21' -> 2012-12-21 00:00:00 > fmt:'%Y - %m - %d' spec:'2012-12-21' -> 2012-12-21 00:00:00 > fmt:'%Y-%m-%d %H:%M:%S' spec:'2012-12-21 20:12:21' -> 2012-12-21 20:12:21 > fmt:' %Y - %m - %d %H : %M : %S' spec:' 2012 - 12 - 21 20 : 12 : 21' > -> 2012-12-21 20:12:21 > +fmt:' %Y - %b - %d %H : %M : %S' spec:' 2012 - nOV - 21 20 : 12 : 21' > -> 2012-11-21 20:12:21 > +fmt:' %Y - %B - %d %H : %M : %S' spec:' 2012 - nOVemBeR - 21 20 : 12 : > 21' -> 2012-11-21 20:12:21 > +fmt:' %Y - %B%d %H : %M : %S' spec:' 2012 - may21 20 : 12 : 21' -> > 2012-05-21 20:12:21 > +fmt:' %Y - %B%d %H : %M : %S' spec:' 2012 - mby21 20 : 12 : 21' -> error > +fmt:' %Y - %B - %d %H : %M : %S' spec:' 2012 - JunE - 21 20 : 12 : 21' > -> 2012-06-21 20:12:21 > +fmt:' %Y - %B - %d %H : %M : %S' spec:' 2012 - Jane - 21 20 : 12 : 21' > -> error > +fmt:' %Y - %B - %d %H : %M : %S' spec:' 2012 - January - 21 20 : 12 : > 21' -> 2012-01-21 20:12:21 > > Testing av_parse_time() > (now is 2012-03-17 09:14:13.2 +0100, local time is UTC+1) > -- > 2.9.3 > -- "The mark of an immature man is that he wants to die nobly for a cause, while the mark of the mature man is that he wants to live humbly for one." --W. Stekel _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel