]> granicus.if.org Git - onig/commitdiff
refactoring
authorK.Kosako <kosako@sofnec.co.jp>
Fri, 2 Mar 2018 01:35:12 +0000 (10:35 +0900)
committerK.Kosako <kosako@sofnec.co.jp>
Fri, 2 Mar 2018 01:35:12 +0000 (10:35 +0900)
src/regparse.c

index 036ac0f042108fae49a83fdf326cb075c4d4f14a..2646b4da29976d01db5e934e1c8e52a0a9ff0ddf 100644 (file)
@@ -6823,17 +6823,14 @@ parse_callout_of_name(Node** np, int cterm, UChar** src, UChar* end, ScanEnv* en
     if (r != ONIG_NORMAL) return r;
   }
 
-  r = node_new_callout(&node, ONIG_CALLOUT_OF_NAME, num, name_id, env);
-  if (r != ONIG_NORMAL) return r;
-
   if (tag_start != tag_end) {
-    r = callout_tag_entry(env->reg, tag_start, tag_end, GIMMICK_(node)->num);
-    if (r != ONIG_NORMAL) {
-      onig_node_free(node);
-      return r;
-    }
+    r = callout_tag_entry(env->reg, tag_start, tag_end, num);
+    if (r != ONIG_NORMAL) return r;
   }
 
+  r = node_new_callout(&node, ONIG_CALLOUT_OF_NAME, num, name_id, env);
+  if (r != ONIG_NORMAL) return r;
+
   e = onig_reg_callout_list_at(env->reg, num);
   e->of         = ONIG_CALLOUT_OF_NAME;
   e->in         = in;