From 372e2884089e6a17be6d0028386ea2099dd86268 Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Mon, 27 Sep 2010 16:23:43 +0000 Subject: Move av_get_token() from libavfilter to libavutil. Originally committed as revision 25225 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavfilter/avfilter.h | 2 +- libavfilter/graphparser.c | 1 + libavfilter/parseutils.c | 71 ----------------------------------------------- libavfilter/parseutils.h | 15 ---------- libavfilter/vf_frei0r.c | 1 + 5 files changed, 3 insertions(+), 87 deletions(-) (limited to 'libavfilter') diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index 05ef354..99a3d8c 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -26,7 +26,7 @@ #define LIBAVFILTER_VERSION_MAJOR 1 #define LIBAVFILTER_VERSION_MINOR 46 -#define LIBAVFILTER_VERSION_MICRO 0 +#define LIBAVFILTER_VERSION_MICRO 1 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ LIBAVFILTER_VERSION_MINOR, \ diff --git a/libavfilter/graphparser.c b/libavfilter/graphparser.c index c4f621b..fab0423 100644 --- a/libavfilter/graphparser.c +++ b/libavfilter/graphparser.c @@ -23,6 +23,7 @@ #include #include +#include "libavutil/avstring.h" #include "graphparser.h" #include "avfilter.h" #include "avfiltergraph.h" diff --git a/libavfilter/parseutils.c b/libavfilter/parseutils.c index 669ec9d..b7b8d13 100644 --- a/libavfilter/parseutils.c +++ b/libavfilter/parseutils.c @@ -28,42 +28,6 @@ #include "libavutil/random_seed.h" #include "parseutils.h" -#define WHITESPACES " \n\t" - -char *av_get_token(const char **buf, const char *term) -{ - char *out = av_malloc(strlen(*buf) + 1); - char *ret= out, *end= out; - const char *p = *buf; - if (!out) return NULL; - p += strspn(p, WHITESPACES); - - while(*p && !strspn(p, term)) { - char c = *p++; - if(c == '\\' && *p){ - *out++ = *p++; - end= out; - }else if(c == '\''){ - while(*p && *p != '\'') - *out++ = *p++; - if(*p){ - p++; - end= out; - } - }else{ - *out++ = c; - } - } - - do{ - *out-- = 0; - }while(out >= end && strspn(out, WHITESPACES)); - - *buf = p; - - return ret; -} - typedef struct { const char *name; ///< a string representing the name of the color uint8_t rgb_color[3]; ///< RGB values for the color @@ -395,41 +359,6 @@ int main(void) { int i; - const char *strings[] = { - "''", - "", - ":", - "\\", - "'", - " '' :", - " '' '' :", - "foo '' :", - "'foo'", - "foo ", - "foo\\", - "foo': blah:blah", - "foo\\: blah:blah", - "foo\'", - "'foo : ' :blahblah", - "\\ :blah", - " foo", - " foo ", - " foo \\ ", - "foo ':blah", - " foo bar : blahblah", - "\\f\\o\\o", - "'foo : \\ \\ ' : blahblah", - "'\\fo\\o:': blahblah", - "\\'fo\\o\\:': foo ' :blahblah" - }; - - for (i=0; i < FF_ARRAY_ELEMS(strings); i++) { - const char *p= strings[i]; - printf("|%s|", p); - printf(" -> |%s|", av_get_token(&p, ":")); - printf(" + |%s|\n", p); - } - printf("\nTesting av_parse_color()\n"); { uint8_t rgba[4]; diff --git a/libavfilter/parseutils.h b/libavfilter/parseutils.h index a139c95..59c5262 100644 --- a/libavfilter/parseutils.h +++ b/libavfilter/parseutils.h @@ -28,21 +28,6 @@ #include "libavutil/opt.h" /** - * Unescape the given string until a non escaped terminating char, - * and return the token corresponding to the unescaped string. - * - * The normal \ and ' escaping is supported. Leading and trailing - * whitespaces are removed. - * - * @param buf the buffer to parse, buf will be updated to point to the - * terminating char - * @param term a 0-terminated list of terminating chars - * @return the malloced unescaped string, which must be av_freed by - * the user, NULL in case of allocation failure - */ -char *av_get_token(const char **buf, const char *term); - -/** * Put the RGBA values that correspond to color_string in rgba_color. * * @param color_string a string specifying a color. It can be the name of diff --git a/libavfilter/vf_frei0r.c b/libavfilter/vf_frei0r.c index 4ad7125..1303b03 100644 --- a/libavfilter/vf_frei0r.c +++ b/libavfilter/vf_frei0r.c @@ -26,6 +26,7 @@ #include #include +#include "libavutil/avstring.h" #include "avfilter.h" #include "parseutils.h" -- cgit v1.1