{GVf_IMPORTED_CV, " CV"},
};
+/* NOTE: this structure is mostly duplicative of one generated by
+ * 'make regen' in regnodes.h - perhaps we should somehow integrate
+ * the two. - Yves */
const struct flag_to_name regexp_extflags_names[] = {
{RXf_PMf_MULTILINE, "PMf_MULTILINE,"},
{RXf_PMf_SINGLELINE, "PMf_SINGLELINE,"},
{RXf_GPOS_FLOAT, "GPOS_FLOAT,"},
{RXf_NO_INPLACE_SUBST, "NO_INPLACE_SUBST,"},
{RXf_EVAL_SEEN, "EVAL_SEEN,"},
- {RXf_CANY_SEEN, "CANY_SEEN,"},
{RXf_CHECK_ALL, "CHECK_ALL,"},
{RXf_MATCH_UTF8, "MATCH_UTF8,"},
{RXf_USE_INTUIT_NOML, "USE_INTUIT_NOML,"},
{RXf_NULL, "NULL,"},
};
+/* NOTE: this structure is mostly duplicative of one generated by
+ * 'make regen' in regnodes.h - perhaps we should somehow integrate
+ * the two. - Yves */
const struct flag_to_name regexp_core_intflags_names[] = {
{PREGf_SKIP, "SKIP,"},
- {PREGf_IMPLICIT, "IMPLICIT,"},
- {PREGf_NAUGHTY, "NAUGHTY,"},
+ {PREGf_IMPLICIT, "IMPLICIT,"},
+ {PREGf_NAUGHTY, "NAUGHTY,"},
{PREGf_VERBARG_SEEN, "VERBARG_SEEN,"},
{PREGf_CUTGROUP_SEEN, "CUTGROUP_SEEN,"},
- {PREGf_USE_RE_EVAL, "USE_RE_EVAL,"},
+ {PREGf_USE_RE_EVAL, "USE_RE_EVAL,"},
{PREGf_NOSCAN, "NOSCAN,"},
+ {PREGf_CANY_SEEN, "CANY_SEEN,"},
};
void
if (pRExC_state->num_code_blocks)
r->extflags |= RXf_EVAL_SEEN;
if (RExC_seen & REG_SEEN_CANY)
- r->extflags |= RXf_CANY_SEEN;
+ r->intflags |= PREGf_CANY_SEEN;
if (RExC_seen & REG_SEEN_VERBARG)
{
r->intflags |= PREGf_VERBARG_SEEN;
sv_setpvn(sv, s, i);
TAINT_set(oldtainted);
#endif
- if ( (rx->extflags & RXf_CANY_SEEN)
+ if ( (rx->intflags & PREGf_CANY_SEEN)
? (RXp_MATCH_UTF8(rx)
&& (!i || is_utf8_string((U8*)s, i)))
: (RXp_MATCH_UTF8(rx)) )
#define PREGf_USE_RE_EVAL 0x00000020 /* compiled with "use re 'eval'" */
/* these used to be extflags, but are now intflags */
#define PREGf_NOSCAN 0x00000040
+#define PREGf_CANY_SEEN 0x00000080
/* this is where the old regcomp.h started */
goto fail;
}
if (prog->check_offset_min == prog->check_offset_max
- && !(prog->extflags & RXf_CANY_SEEN)
+ && !(prog->intflags & PREGf_CANY_SEEN)
&& ! multiline) /* /m can cause \n's to match that aren't
accounted for in the string max length.
See [perl #115242] */
(IV)prog->check_end_shift);
});
- if (prog->extflags & RXf_CANY_SEEN) {
+ if (prog->intflags & PREGf_CANY_SEEN) {
start_point= (U8*)(s + srch_start_shift);
end_point= (U8*)(strend - srch_end_shift);
} else {
/* What we have seen */
#define RXf_NO_INPLACE_SUBST (1<<(RXf_BASE_SHIFT+6))
#define RXf_EVAL_SEEN (1<<(RXf_BASE_SHIFT+7))
-#define RXf_CANY_SEEN (1<<(RXf_BASE_SHIFT+8))
+#define RXf_UNUSED1 (1<<(RXf_BASE_SHIFT+8))
/* Special */
-#define RXf_UNUSED1 (1<<(RXf_BASE_SHIFT+9))
+#define RXf_UNUSED2 (1<<(RXf_BASE_SHIFT+9))
#define RXf_CHECK_ALL (1<<(RXf_BASE_SHIFT+10))
/* UTF8 related */
"GPOS_FLOAT", /* 0x00004000 */
"NO_INPLACE_SUBST", /* 0x00008000 */
"EVAL_SEEN", /* 0x00010000 */
- "CANY_SEEN", /* 0x00020000 */
- "NOSCAN", /* 0x00040000 */
+ "UNUSED1", /* 0x00020000 */
+ "UNUSED2", /* 0x00040000 */
"CHECK_ALL", /* 0x00080000 */
"MATCH_UTF8", /* 0x00100000 */
"USE_INTUIT_NOML", /* 0x00200000 */
"VERBARG_SEEN", /* 0x00000008 - PREGf_VERBARG_SEEN */
"CUTGROUP_SEEN", /* 0x00000010 - PREGf_CUTGROUP_SEEN */
"USE_RE_EVAL", /* 0x00000020 - PREGf_USE_RE_EVAL - compiled with "use re 'eval'" */
+ "NOSCAN", /* 0x00000040 - PREGf_NOSCAN */
+ "CANY_SEEN", /* 0x00000080 - PREGf_CANY_SEEN */
};
#endif /* DOINIT */