Change 30313 by [EMAIL PROTECTED] on 2007/02/15 12:39:46
Subject: Re: [perl #41491] Incorrect regexp warning.
From: demerphq <[EMAIL PROTECTED]>
Date: Thu, 15 Feb 2007 12:07:40 +0100
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
... //depot/perl/regcomp.c#556 edit
Differences ...
==== //depot/perl/regcomp.c#556 (text) ====
Index: perl/regcomp.c
--- perl/regcomp.c#555~30265~ 2007-02-13 11:43:15.000000000 -0800
+++ perl/regcomp.c 2007-02-15 04:39:46.000000000 -0800
@@ -5669,7 +5669,7 @@
}
else if (paren != '?') /* Not Conditional */
ret = br;
- *flagp |= flags & (SPSTART | HASWIDTH);
+ *flagp |= flags & (SPSTART | HASWIDTH | POSTPONED);
lastbr = br;
while (*RExC_parse == '|') {
if (!SIZE_ONLY && RExC_extralen) {
@@ -5690,9 +5690,7 @@
return(NULL);
REGTAIL(pRExC_state, lastbr, br); /* BRANCH -> BRANCH. */
lastbr = br;
- if (flags&HASWIDTH)
- *flagp |= HASWIDTH;
- *flagp |= flags&SPSTART;
+ *flagp |= flags & (SPSTART | HASWIDTH | POSTPONED);
}
if (have_branch || paren != ':') {
@@ -5833,7 +5831,7 @@
}
else if (ret == NULL)
ret = latest;
- *flagp |= flags&HASWIDTH;
+ *flagp |= flags&(HASWIDTH|POSTPONED);
if (chain == NULL) /* First piece. */
*flagp |= flags&SPSTART;
else {
End of Patch.