diff --git a/src/pattern.c b/src/pattern.c index 228cdf0..28737b1 100644 --- a/src/pattern.c +++ b/src/pattern.c @@ -203,6 +203,10 @@ liblex_result _pattern_build_or(pattern_chain** into, int* ids, int pattern_id, result = _pattern_chain_create(into, NULL, tail_node); } + if(result == LIBLEX_SUCCESS){ + (*index)++; + } + while (string[*index] && string[*index] != ']' && result == LIBLEX_SUCCESS) { char from = '\0'; char to = '\0'; @@ -248,6 +252,8 @@ liblex_result _pattern_build_or(pattern_chain** into, int* ids, int pattern_id, free(tail_node); } free(*into); + } else { + (*index)++; } return result;