Re: [ID 20020109.002] /(?m:...\s*$)/ is not backtracking properly
Hugo van der Sanden [Wed, 9 Jan 2002 20:16:54 +0000 (20:16 +0000)]
Message-Id: <200201092016.g09KGsi30119@crypt.compulink.co.uk>

p4raw-id: //depot/perl@14157

regexec.c

index 1bc9983..bdd7c0d 100644 (file)
--- a/regexec.c
+++ b/regexec.c
@@ -3586,7 +3586,9 @@ S_regmatch(pTHX_ regnode *prog)
                n = regrepeat(scan, n);
                locinput = PL_reginput;
                if (ln < n && PL_regkind[(U8)OP(next)] == EOL &&
-                   ((!PL_multiline && OP(next) != MEOL) || OP(next) == SEOL || OP(next) == EOS)) {
+                   ((!PL_multiline && OP(next) != MEOL) ||
+                       OP(next) == SEOL || OP(next) == EOS))
+               {
                    ln = n;                     /* why back off? */
                    /* ...because $ and \Z can match before *and* after
                       newline at the end.  Consider "\n\n" =~ /\n+\Z\n/.