]> granicus.if.org Git - onig/commitdiff
support super alt
authorK.Kosako <kkosako0@gmail.com>
Sat, 29 Jul 2017 12:10:49 +0000 (21:10 +0900)
committerK.Kosako <kkosako0@gmail.com>
Sat, 29 Jul 2017 12:10:49 +0000 (21:10 +0900)
src/regcomp.c

index 272db274e184b270c96e27b429cbcf9f4c40d14b..906f629cf44a8eb06dae9c02d5c00f204d3ebf46 100644 (file)
@@ -1875,7 +1875,8 @@ compile_tree(Node* node, regex_t* reg, ScanEnv* env)
       do {
         len = compile_length_tree(NODE_CAR(node), reg);
         if (IS_NOT_NULL(NODE_CDR(node))) {
-          r = add_opcode_rel_addr(reg, OP_PUSH, len + SIZE_OP_JUMP);
+          enum OpCode push = NODE_IS_SUPER(node) ? OP_PUSH_SUPER : OP_PUSH;
+          r = add_opcode_rel_addr(reg, push, len + SIZE_OP_JUMP);
           if (r != 0) break;
         }
         r = compile_tree(NODE_CAR(node), reg, env);