]> granicus.if.org Git - onig/commitdiff
fix ignore case in look-behind
authorkosako <kosako@sofnec.co.jp>
Mon, 4 Jul 2016 08:39:42 +0000 (17:39 +0900)
committerkosako <kosako@sofnec.co.jp>
Mon, 4 Jul 2016 08:39:42 +0000 (17:39 +0900)
src/regcomp.c

index f9b900f7e81ad47cd004703000d24d221099d2d4..f6c164845f4ac4d466fcc340ee7282042e60e744 100644 (file)
@@ -3873,9 +3873,9 @@ setup_tree(Node* node, regex_t* reg, int state, ScanEnv* env)
                               ALLOWED_ENCLOSE_IN_LB, ALLOWED_ANCHOR_IN_LB);
           if (r < 0) return r;
           if (r > 0) return ONIGERR_INVALID_LOOK_BEHIND_PATTERN;
-          r = setup_look_behind(node, reg, env);
-          if (r != 0) return r;
           r = setup_tree(an->target, reg, state, env);
+          if (r != 0) return r;
+          r = setup_look_behind(node, reg, env);
         }
         break;
 
@@ -3885,9 +3885,9 @@ setup_tree(Node* node, regex_t* reg, int state, ScanEnv* env)
                    ALLOWED_ENCLOSE_IN_LB_NOT, ALLOWED_ANCHOR_IN_LB_NOT);
           if (r < 0) return r;
           if (r > 0) return ONIGERR_INVALID_LOOK_BEHIND_PATTERN;
-          r = setup_look_behind(node, reg, env);
-          if (r != 0) return r;
           r = setup_tree(an->target, reg, (state | IN_NOT), env);
+          if (r != 0) return r;
+          r = setup_look_behind(node, reg, env);
         }
         break;
       }