diff --git a/src/pattern.c b/src/pattern.c index 28737b1..a581e30 100644 --- a/src/pattern.c +++ b/src/pattern.c @@ -328,6 +328,19 @@ liblex_result _pattern_build_chain(pattern_chain** into, int* ids, int pattern_i result = _pattern_chain_create(¤t_chain, NULL, NULL); (*index)++; } + } if(string[*index] == '.') { + pattern_node* new_node = NULL; + _pattern_chain_append_chain_discard(current_chain, &sub_chain); + result = _pattern_chain_create(&sub_chain, NULL, NULL); + if(result == LIBLEX_SUCCESS){ + result = _pattern_node_create_any(&new_node, (*ids)++, pattern_id, NULL); + } + if(result == LIBLEX_SUCCESS){ + sub_chain->head = sub_chain->tail = new_node; + (*index)++; + } else { + free(new_node); + } } else { char new_char = '\0'; pattern_node* new_node = NULL;