diff options
author | Yves Orton <demerphq@gmail.com> | 2008-11-06 10:44:13 +0000 |
---|---|---|
committer | Yves Orton <demerphq@gmail.com> | 2008-11-06 10:44:13 +0000 |
commit | aff3edb5cf5195431c87166ebfe06c4721c5c783 (patch) | |
tree | 864155d51457fe84b41d79db4d1b513f69d35fee /regexec.c | |
parent | 4954abf77fcbac122d63699b1b3921b4d44d4570 (diff) | |
download | perl-aff3edb5cf5195431c87166ebfe06c4721c5c783.tar.gz |
Resolve perl #60344: Regex lookbehind failure after an (if)then|else in perl 5.10
During the de-recursivization it looks like Dave M forgot to reset the 'logical'
flag after using it, which in turn causes UNLESSM/IFTHEN when used after a LOGICAL operator to
be incorrectly intrepreted. This change resets the logical flag after each time it is stored
in ST.logical.
p4raw-id: //depot/perl@34746
Diffstat (limited to 'regexec.c')
-rw-r--r-- | regexec.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -4983,6 +4983,7 @@ NULL do_ifmatch: ST.me = scan; ST.logical = logical; + logical = 0; /* execute body of (?...A) */ PUSH_YES_STATE_GOTO(IFMATCH_A, NEXTOPER(NEXTOPER(scan))); /* NOTREACHED */ |