From 2cdd9e55be60ff2c05903a37e7031c2552340389 Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Sat, 25 Feb 2017 22:24:52 -0800 Subject: [PATCH] Implement the 'any' character. --- src/pattern.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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;