diff options
author | Yves Orton <demerphq@gmail.com> | 2006-11-23 13:36:24 +0100 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2006-11-23 12:57:18 +0000 |
commit | bbe252da68db3f0a4d00844fdb5e30bf18a0828f (patch) | |
tree | 63d46509865ffca1ff26e61ce7efa6aac36ee476 /pp_hot.c | |
parent | b3123a6146c9098bd93ca1ae1f6d6d6744ef9c4b (diff) | |
download | perl-bbe252da68db3f0a4d00844fdb5e30bf18a0828f.tar.gz |
Cleanup regexp flags and structure
Message-ID: <9b18b3110611230336p3ce3b16du47cd5398dea8d873@mail.gmail.com>
p4raw-id: //depot/perl@29360
Diffstat (limited to 'pp_hot.c')
-rw-r--r-- | pp_hot.c | 26 |
1 files changed, 13 insertions, 13 deletions
@@ -1351,12 +1351,12 @@ PP(pp_match) if (SvTYPE(TARG) >= SVt_PVMG && SvMAGIC(TARG)) { MAGIC* const mg = mg_find(TARG, PERL_MAGIC_regex_global); if (mg && mg->mg_len >= 0) { - if (!(rx->reganch & ROPT_GPOS_SEEN)) + if (!(rx->extflags & RXf_GPOS_SEEN)) rx->endp[0] = rx->startp[0] = mg->mg_len; - else if (rx->reganch & ROPT_ANCH_GPOS) { + else if (rx->extflags & RXf_ANCH_GPOS) { r_flags |= REXEC_IGNOREPOS; rx->endp[0] = rx->startp[0] = mg->mg_len; - } else if (rx->reganch & ROPT_GPOS_FLOAT) + } else if (rx->extflags & RXf_GPOS_FLOAT) gpos = mg->mg_len; else rx->endp[0] = rx->startp[0] = mg->mg_len; @@ -1381,18 +1381,18 @@ play_it_again: if (update_minmatch++) minmatch = had_zerolen; } - if (rx->reganch & RE_USE_INTUIT && - DO_UTF8(TARG) == ((rx->reganch & ROPT_UTF8) != 0)) { + if (rx->extflags & RXf_USE_INTUIT && + DO_UTF8(TARG) == ((rx->extflags & RXf_UTF8) != 0)) { /* FIXME - can PL_bostr be made const char *? */ PL_bostr = (char *)truebase; s = CALLREG_INTUIT_START(rx, TARG, (char *)s, (char *)strend, r_flags, NULL); if (!s) goto nope; - if ( (rx->reganch & ROPT_CHECK_ALL) + if ( (rx->extflags & RXf_CHECK_ALL) && !PL_sawampersand - && ((rx->reganch & ROPT_NOSCAN) - || !((rx->reganch & RE_INTUIT_TAIL) + && ((rx->extflags & RXf_NOSCAN) + || !((rx->extflags & RXf_INTUIT_TAIL) && (r_flags & REXEC_SCREAM))) && !SvROK(TARG)) /* Cannot trust since INTUIT cannot guess ^ */ goto yup; @@ -2155,17 +2155,17 @@ PP(pp_subst) r_flags |= REXEC_SCREAM; orig = m = s; - if (rx->reganch & RE_USE_INTUIT) { + if (rx->extflags & RXf_USE_INTUIT) { PL_bostr = orig; s = CALLREG_INTUIT_START(rx, TARG, s, strend, r_flags, NULL); if (!s) goto nope; /* How to do it in subst? */ -/* if ( (rx->reganch & ROPT_CHECK_ALL) +/* if ( (rx->extflags & RXf_CHECK_ALL) && !PL_sawampersand - && ((rx->reganch & ROPT_NOSCAN) - || !((rx->reganch & RE_INTUIT_TAIL) + && ((rx->extflags & RXf_NOSCAN) + || !((rx->extflags & RXf_INTUIT_TAIL) && (r_flags & REXEC_SCREAM)))) goto yup; */ @@ -2203,7 +2203,7 @@ PP(pp_subst) && !is_cow #endif && (I32)clen <= rx->minlenret && (once || !(r_flags & REXEC_COPY_STR)) - && !(rx->reganch & ROPT_LOOKBEHIND_SEEN) + && !(rx->extflags & RXf_LOOKBEHIND_SEEN) && (!doutf8 || SvUTF8(TARG))) { if (!CALLREGEXEC(rx, s, strend, orig, 0, TARG, NULL, r_flags | REXEC_CHECKED)) |