diff options
author | Dave Mitchell <davem@fdisolutions.com> | 2007-06-18 15:10:32 +0000 |
---|---|---|
committer | Dave Mitchell <davem@fdisolutions.com> | 2007-06-18 15:10:32 +0000 |
commit | 60f65011b186cef6f05a7bafbf688a4b89780a87 (patch) | |
tree | 2991804341988bf8b44f6175782c406dc8368cda /regexec.c | |
parent | 717f132d5024d35d34d5f6abec0526fdd163f731 (diff) | |
download | perl-60f65011b186cef6f05a7bafbf688a4b89780a87.tar.gz |
[perl #43159] 5.9.4 regexp capturing wrongly
change #28398 accidently made the last branch of an alternation
not restore the paren state after failure backtrack. Fix this by
removing the last-branch-skips-pushing-a-state optimisation.
p4raw-link: @28398 on //depot/perl: 40a824489101168f94fce98aa2824baf40bad402
p4raw-id: //depot/perl@31417
Diffstat (limited to 'regexec.c')
-rw-r--r-- | regexec.c | 6 |
1 files changed, 0 insertions, 6 deletions
@@ -4219,12 +4219,6 @@ NULL case BRANCH: /* /(...|A|...)/ */ scan = NEXTOPER(scan); /* scan now points to inner node */ - if ((!next || (OP(next) != BRANCH && OP(next) != BRANCHJ)) - && !has_cutgroup) - { - /* last branch; skip state push and jump direct to node */ - continue; - } ST.lastparen = *PL_reglastparen; ST.next_branch = next; REGCP_SET(ST.cp); |