skin_engine: Fix a obscure parser bug

Tag params where a [] group is followed (but not immediatly) by
a * will not parse correctly. e.g [si]iii|s* will attempt to find
an 'i' after the second s instead of looping s's

Change-Id: I3982f726b6539818f8332334b263b673259f98ef
This commit is contained in:
Jonathan Gordon 2012-07-05 22:41:10 +10:00
parent c413591e7e
commit 4c94b98422

View file

@ -782,7 +782,7 @@ static int skin_parse_tag(struct skin_element* element, const char** document)
{
if (i+1 == num_args)
tag_args += 2;
else if (open_square_bracket)
else if (open_square_bracket && *tag_args == ']')
{
tag_args = open_square_bracket;
open_square_bracket = NULL;