*/
#include "EXTERN.h"
#include "perl.h"
-typedef MAGIC *my_magic;
#include "regcomp.h"
}
/* Check validity of program. */
- if (UCHARAT(prog->program) != MAGIC) {
+ if (UCHARAT(prog->program) != REG_MAGIC) {
FAIL("corrupted regexp program");
}
sayNO;
nextchr = UCHARAT(++locinput);
break;
- case ANY:
+ case REG_ANY:
if (!nextchr && locinput >= PL_regeol || nextchr == '\n')
sayNO;
nextchr = UCHARAT(++locinput);
/* Inline the first character, for speed. */
if (UCHARAT(s) != nextchr &&
UCHARAT(s) != ((OP(scan) == EXACTF)
- ? fold : fold_locale)[nextchr])
+ ? PL_fold : PL_fold_locale)[nextchr])
sayNO;
if (PL_regeol - locinput < ln)
sayNO;
if (UCHARAT(s) != nextchr &&
(OP(scan) == REF ||
(UCHARAT(s) != ((OP(scan) == REFF
- ? fold : fold_locale)[nextchr]))))
+ ? PL_fold : PL_fold_locale)[nextchr]))))
sayNO;
ln = PL_regendp[n] - s;
if (locinput + ln > PL_regeol)
if (logical) {
if (logical == 2) { /* Postponed subexpression. */
regexp *re;
- my_magic mg = Null(my_magic);
+ MAGIC *mg = Null(MAGIC*);
re_cc_state state;
CURCUR cctmp;
CHECKPOINT cp, lastcp;
&& !(paren && ln == 0))
ln = n;
locinput = PL_reginput;
- if (regkind[(U8)OP(next)] == EXACT) {
+ if (PL_regkind[(U8)OP(next)] == EXACT) {
c1 = UCHARAT(OPERAND(next) + 1);
if (OP(next) == EXACTF)
- c2 = fold[c1];
+ c2 = PL_fold[c1];
else if (OP(next) == EXACTFL)
- c2 = fold_locale[c1];
+ c2 = PL_fold_locale[c1];
else
c2 = c1;
}
REPORT_CODE_OFF+PL_regindent*2, "", n, l)
);
if (n >= ln) {
- if (regkind[(U8)OP(next)] == EXACT) {
+ if (PL_regkind[(U8)OP(next)] == EXACT) {
c1 = UCHARAT(OPERAND(next) + 1);
if (OP(next) == EXACTF)
- c2 = fold[c1];
+ c2 = PL_fold[c1];
else if (OP(next) == EXACTFL)
- c2 = fold_locale[c1];
+ c2 = PL_fold_locale[c1];
else
c2 = c1;
}
* Lookahead to avoid useless match attempts
* when we know what character comes next.
*/
- if (regkind[(U8)OP(next)] == EXACT) {
+ if (PL_regkind[(U8)OP(next)] == EXACT) {
c1 = UCHARAT(OPERAND(next) + 1);
if (OP(next) == EXACTF)
- c2 = fold[c1];
+ c2 = PL_fold[c1];
else if (OP(next) == EXACTFL)
- c2 = fold_locale[c1];
+ c2 = PL_fold_locale[c1];
else
c2 = c1;
}
CHECKPOINT lastcp;
n = regrepeat(scan, n);
locinput = PL_reginput;
- if (ln < n && regkind[(U8)OP(next)] == EOL &&
+ if (ln < n && PL_regkind[(U8)OP(next)] == EOL &&
(!PL_multiline || OP(next) == SEOL))
ln = n; /* why back off? */
REGCP_SET;
loceol = scan + max;
opnd = (char *) OPERAND(p);
switch (OP(p)) {
- case ANY:
+ case REG_ANY:
while (scan < loceol && *scan != '\n')
scan++;
break;
case EXACTF: /* length of string is 1 */
c = UCHARAT(++opnd);
while (scan < loceol &&
- (UCHARAT(scan) == c || UCHARAT(scan) == fold[c]))
+ (UCHARAT(scan) == c || UCHARAT(scan) == PL_fold[c]))
scan++;
break;
case EXACTFL: /* length of string is 1 */
PL_reg_flags |= RF_tainted;
c = UCHARAT(++opnd);
while (scan < loceol &&
- (UCHARAT(scan) == c || UCHARAT(scan) == fold_locale[c]))
+ (UCHARAT(scan) == c || UCHARAT(scan) == PL_fold_locale[c]))
scan++;
break;
case ANYOFUTF8:
I32 cf;
if (flags & ANYOF_LOCALE) {
PL_reg_flags |= RF_tainted;
- cf = fold_locale[c];
+ cf = PL_fold_locale[c];
}
else
- cf = fold[c];
+ cf = PL_fold[c];
if (ANYOF_TEST(p, cf))
match = TRUE;
}