From: K.Kosako Date: Sun, 4 Nov 2018 07:28:14 +0000 (+0900) Subject: refactoring X-Git-Tag: v6.9.1~10 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aa8ef4d62a21f672f0d3e19202e9e7aa1f964548;p=onig refactoring --- diff --git a/src/regparse.c b/src/regparse.c index b6769fd..a96fc58 100644 --- a/src/regparse.c +++ b/src/regparse.c @@ -2450,17 +2450,20 @@ node_new_option(OnigOptionType option) Node* node = node_new_bag(BAG_OPTION); CHECK_NULL_RETURN(node); BAG_(node)->o.options = option; - BAG_(node)->o.is_no_effect = 0; return node; } static Node* -node_new_no_effect(OnigOptionType option) +node_new_group(Node* content) { - Node* node = node_new_bag(BAG_OPTION); + Node* node; + + node = node_new(); CHECK_NULL_RETURN(node); - BAG_(node)->o.options = option; - BAG_(node)->o.is_no_effect = 1; + NODE_SET_TYPE(node, NODE_LIST); + NODE_CAR(node) = content; + NODE_CDR(node) = NULL_NODE; + return node; } @@ -7761,12 +7764,11 @@ parse_exp(Node** np, OnigToken* tok, int term, UChar** src, UChar* end, Node* target; target = *np; - *np = node_new_no_effect(env->options); + *np = node_new_group(target); if (IS_NULL(*np)) { onig_node_free(target); return ONIGERR_MEMORY; } - NODE_BODY(*np) = target; } } else if (r == 2) { /* option only */ diff --git a/src/regparse.h b/src/regparse.h index bb8a6a5..5239464 100644 --- a/src/regparse.h +++ b/src/regparse.h @@ -123,7 +123,6 @@ typedef struct { } m; struct { OnigOptionType options; - int is_no_effect; } o; struct { /* body is condition */