From bd80b349b3449ad1b5bed6b47fbb94aa25d76987 Mon Sep 17 00:00:00 2001 From: Vitor Sessak Date: Sat, 24 May 2008 20:41:42 +0000 Subject: Make parse_link_name() return a pointer to the name read Commited in SoC by Vitor Sessak on 2008-05-24 12:57:20 Originally committed as revision 13343 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavfilter/graphparser.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'libavfilter/graphparser.c') diff --git a/libavfilter/graphparser.c b/libavfilter/graphparser.c index 09be0dabae..9ce24f450f 100644 --- a/libavfilter/graphparser.c +++ b/libavfilter/graphparser.c @@ -94,14 +94,15 @@ static char *consume_string(const char **buf) * @arg name a pointer (that need to be free'd after use) to the name between * parenthesis */ -static void parse_link_name(const char **buf, char **name, AVClass *log_ctx) +static char *parse_link_name(const char **buf, AVClass *log_ctx) { const char *start = *buf; + char *name; (*buf)++; - *name = consume_string(buf); + name = consume_string(buf); - if(!*name[0]) { + if(!name[0]) { av_log(log_ctx, AV_LOG_ERROR, "Bad (empty?) label found in the following: \"%s\".\n", start); goto fail; @@ -111,8 +112,10 @@ static void parse_link_name(const char **buf, char **name, AVClass *log_ctx) av_log(log_ctx, AV_LOG_ERROR, "Mismatched '[' found in the following: \"%s\".\n", start); fail: - av_freep(name); + av_freep(&name); } + + return name; } static AVFilterContext *create_filter(AVFilterGraph *ctx, int index, @@ -255,12 +258,10 @@ static int parse_inputs(const char **buf, AVFilterInOut **currInputs, int pad = 0; while(**buf == '[') { - char *name; + char *name = parse_link_name(buf, log_ctx); AVFilterInOut *link_to_add; AVFilterInOut *match; - parse_link_name(buf, &name, log_ctx); - if(!name) return -1; @@ -301,14 +302,12 @@ static int parse_outputs(const char **buf, AVFilterInOut **currInputs, int pad = 0; while(**buf == '[') { - char *name; + char *name = parse_link_name(buf, log_ctx); AVFilterInOut *match; AVFilterInOut *input = *currInputs; *currInputs = (*currInputs)->next; - parse_link_name(buf, &name, log_ctx); - if(!name) return -1; -- cgit v1.2.3