]> granicus.if.org Git - onig/commitdiff
add node_new_anychar_with_fixed_option()
authorK.Kosako <kosako@sofnec.co.jp>
Tue, 11 Jul 2017 04:20:47 +0000 (13:20 +0900)
committerK.Kosako <kosako@sofnec.co.jp>
Tue, 11 Jul 2017 04:20:47 +0000 (13:20 +0900)
src/regparse.c

index f23b3e63a15895d02b13e39b31bc54fe14335572..a25292b9dd56537d035d3addbdfbe2a909451878 100644 (file)
@@ -1236,6 +1236,19 @@ node_new_anychar(void)
   return node;
 }
 
+static Node*
+node_new_anychar_with_fixed_option(OnigOptionType option)
+{
+  CtypeNode* ct;
+  Node* node;
+
+  node = node_new_anychar();
+  ct = CTYPE_(node);
+  ct->option = option;
+  NODE_STATUS_ADD(node, NST_FIXED_OPTION);
+  return node;
+}
+
 static Node*
 node_new_list(Node* left, Node* right)
 {
@@ -2390,22 +2403,11 @@ node_new_general_newline(Node** node, ScanEnv* env)
 static int
 node_new_no_newline(Node** node, ScanEnv* env)
 {
-  Node* a;
-  Node* o;
-  OnigOptionType option = env->option;
-
-  OPTION_OFF(option, ONIG_OPTION_MULTILINE);
-
-  a = node_new_anychar();
-  CHECK_NULL_RETURN_MEMERR(a);
-  o = node_new_option(option);
-  if (IS_NULL(o)) {
-    onig_node_free(a);
-    return ONIGERR_MEMORY;
-  }
-  NODE_BODY(o) = a;
+  Node* n;
 
-  *node = o;
+  n = node_new_anychar_with_fixed_option(ONIG_OPTION_NONE);
+  CHECK_NULL_RETURN_MEMERR(n);
+  *node = n;
   return 0;
 }