]> granicus.if.org Git - onig/commitdiff
fix setting NST_RECURSION flag to call-node
authorK.Kosako <kosako@sofnec.co.jp>
Thu, 20 Jul 2017 08:01:17 +0000 (17:01 +0900)
committerK.Kosako <kosako@sofnec.co.jp>
Thu, 20 Jul 2017 08:01:17 +0000 (17:01 +0900)
src/regcomp.c

index f192859fe86a42cedbc95bf735309098d9848ef4..459a7c33524b4e74957152e6ccc99e346959aa6a 100644 (file)
@@ -3449,7 +3449,10 @@ recursive_call_check(Node* node)
 
   case NODE_CALL:
     r = recursive_call_check(NODE_BODY(node));
-    if (r != 0) NODE_STATUS_ADD(node, NST_RECURSION);
+    if (r != 0) {
+      if (NODE_IS_RECURSION(NODE_BODY(node)))
+        NODE_STATUS_ADD(node, NST_RECURSION);
+    }
     break;
 
   case NODE_ENCLOSURE: