]> granicus.if.org Git - onig/commitdiff
add EMPTY_STATUS_CHECK flag into quantifier node
authorK.Kosako <kkosako0@gmail.com>
Sun, 25 Aug 2019 08:58:10 +0000 (17:58 +0900)
committerK.Kosako <kkosako0@gmail.com>
Sun, 25 Aug 2019 08:58:10 +0000 (17:58 +0900)
src/regcomp.c

index c14a124c5f00a8c8eba4aca62c6f9d4de406df94..f57b8f6efcbcad42e2b9b620cc8a79c1207aff15 100644 (file)
@@ -3332,8 +3332,11 @@ set_empty_status_check_trav(Node* node, ScanEnv* env)
       for (i = 0; i < br->back_num; i++) {
        Node* ernode = mem_env[backs[i]].empty_repeat_node;
        if (IS_NOT_NULL(ernode)) {
-         if (! is_ancestor_node(ernode, node))
+         if (! is_ancestor_node(ernode, node)) {
+           MEM_STATUS_LIMIT_ON(env->reg->empty_status_mem, backs[i]);
+           NODE_STATUS_ADD(ernode, EMPTY_STATUS_CHECK);
            NODE_STATUS_ADD(mem_env[backs[i]].mem_node, EMPTY_STATUS_CHECK);
+         }
        }
       }
     }