sv_clear can manipulate the arena array directly too.
[p5sagit/p5-mst-13.2.git] / regexec.c
index d4ec7c2..6e234a2 100644 (file)
--- a/regexec.c
+++ b/regexec.c
@@ -518,6 +518,7 @@ Perl_re_intuit_start(pTHX_ regexp *prog, SV *sv, char *strpos,
                     || ((slen = SvCUR(check)) > 1
                         && memNE(SvPVX_const(check), s, slen)))
                goto report_neq;
+           check_at = s;
            goto success_at_start;
          }
        }
@@ -2177,7 +2178,7 @@ S_regtry(pTHX_ regexp *prog, char *startpos)
        prog->subbeg = PL_bostr;
        prog->sublen = PL_regeol - PL_bostr; /* strend may have been modified */
     }
-    /* prog->startp[0] = startpos - PL_bostr; */
+    prog->startp[0] = startpos - PL_bostr;
     PL_reginput = startpos;
     PL_regstartp = prog->startp;
     PL_regendp = prog->endp;
@@ -2221,7 +2222,6 @@ S_regtry(pTHX_ regexp *prog, char *startpos)
 #endif
     REGCP_SET(lastcp);
     if (regmatch(prog->program + 1)) {
-       prog->startp[0] = startpos - PL_bostr;
        prog->endp[0] = PL_reginput - PL_bostr;
        return 1;
     }