summaryrefslogtreecommitdiff
path: root/libavfilter/graphparser.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavfilter/graphparser.c')
-rw-r--r--libavfilter/graphparser.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/libavfilter/graphparser.c b/libavfilter/graphparser.c
index 6a1904f3ec..5ad8522daa 100644
--- a/libavfilter/graphparser.c
+++ b/libavfilter/graphparser.c
@@ -179,26 +179,15 @@ static void free_inout(AVFilterInOut *head)
static AVFilterInOut *extract_inout(const char *label, AVFilterInOut **links)
{
AVFilterInOut *ret;
- AVFilterInOut *p;
-
- if(!links || !*links)
- return NULL;
- if(!strcmp((*links)->name, label)) {
- ret = *links;
- *links = (*links)->next;
- return ret;
- }
-
- /* First check if the label is not in the openLinks list */
- for(p = *links; p->next && strcmp(p->next->name, label); p = p->next);
- if(!p->next)
- return NULL;
+ while(*links && strcmp((*links)->name, label))
+ links= &((*links)->next);
- ret = p->next;
+ ret= *links;
- p->next = p->next->next;
+ if(ret)
+ *links= ret->next;
return ret;
}