From 16832e98a9e169dcb64c5af722f4f23e91ca6973 Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Sat, 21 Jan 2017 21:18:34 -0800 Subject: [PATCH] Fix create functions not setting node type. --- src/pattern.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/pattern.c b/src/pattern.c index dee0403..8526611 100644 --- a/src/pattern.c +++ b/src/pattern.c @@ -22,6 +22,7 @@ liblex_result _pattern_node_create_clear(pattern_node** into){ liblex_result _pattern_node_create_value(pattern_node** into, int id, char value, pattern_node* next){ liblex_result result = _pattern_node_create_clear(into); if(result == LIBLEX_SUCCESS){ + (*into)->type = PNODE_VALUE; (*into)->id = id; (*into)->data_u.value_s.value = value; (*into)->data_u.value_s.next = next; @@ -32,6 +33,7 @@ liblex_result _pattern_node_create_value(pattern_node** into, int id, char value liblex_result _pattern_node_create_range(pattern_node** into, int id, char from, char to, pattern_node* next){ liblex_result result = _pattern_node_create_clear(into); if(result == LIBLEX_SUCCESS){ + (*into)->type = PNODE_RANGE; (*into)->id = id; (*into)->data_u.range_s.from = from; (*into)->data_u.range_s.to = to; @@ -43,6 +45,7 @@ liblex_result _pattern_node_create_range(pattern_node** into, int id, char from, liblex_result _pattern_node_create_any(pattern_node** into, int id, pattern_node* next){ liblex_result result = _pattern_node_create_clear(into); if(result == LIBLEX_SUCCESS){ + (*into)->type = PNODE_ANY; (*into)->id = id; (*into)->data_u.any_s.next = next; } @@ -52,6 +55,7 @@ liblex_result _pattern_node_create_any(pattern_node** into, int id, pattern_node liblex_result _pattern_node_create_connect(pattern_node** into, int id, pattern_node* next){ liblex_result result = _pattern_node_create_clear(into); if(result == LIBLEX_SUCCESS){ + (*into)->type = PNODE_CONNECT; (*into)->id = id; (*into)->data_u.connect_s.next = next; } @@ -61,6 +65,7 @@ liblex_result _pattern_node_create_connect(pattern_node** into, int id, pattern_ liblex_result _pattern_node_create_fork(pattern_node** into, int id, pattern_node* left, pattern_node* right){ liblex_result result = _pattern_node_create_clear(into); if(result == LIBLEX_SUCCESS){ + (*into)->type = PNODE_FORK; (*into)->id = id; (*into)->data_u.fork_s.left = left; (*into)->data_u.fork_s.right = right; @@ -71,6 +76,7 @@ liblex_result _pattern_node_create_fork(pattern_node** into, int id, pattern_nod liblex_result _pattern_node_create_end(pattern_node** into, int id, int pattern_id){ liblex_result result = _pattern_node_create_clear(into); if(result == LIBLEX_SUCCESS){ + (*into)->type = PNODE_END; (*into)->id = id; (*into)->data_u.end_s.pattern_id = pattern_id; }