1707 |
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
1708 |
GETCHARINCTEST(c, eptr); |
GETCHARINCTEST(c, eptr); |
1709 |
{ |
{ |
1710 |
const ucd_record * prop = GET_UCD(c); |
const ucd_record *prop = GET_UCD(c); |
1711 |
|
|
1712 |
switch(ecode[1]) |
switch(ecode[1]) |
1713 |
{ |
{ |
2075 |
|
|
2076 |
|
|
2077 |
/* Match an extended character class. This opcode is encountered only |
/* Match an extended character class. This opcode is encountered only |
2078 |
in UTF-8 mode, because that's the only time it is compiled. */ |
when UTF-8 mode mode is supported. Nevertheless, we may not be in UTF-8 |
2079 |
|
mode, because Unicode properties are supported in non-UTF-8 mode. */ |
2080 |
|
|
2081 |
#ifdef SUPPORT_UTF8 |
#ifdef SUPPORT_UTF8 |
2082 |
case OP_XCLASS: |
case OP_XCLASS: |
2118 |
for (i = 1; i <= min; i++) |
for (i = 1; i <= min; i++) |
2119 |
{ |
{ |
2120 |
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
2121 |
GETCHARINC(c, eptr); |
GETCHARINCTEST(c, eptr); |
2122 |
if (!_pcre_xclass(c, data)) RRETURN(MATCH_NOMATCH); |
if (!_pcre_xclass(c, data)) RRETURN(MATCH_NOMATCH); |
2123 |
} |
} |
2124 |
|
|
2137 |
RMATCH(eptr, ecode, offset_top, md, ims, eptrb, 0, RM20); |
RMATCH(eptr, ecode, offset_top, md, ims, eptrb, 0, RM20); |
2138 |
if (rrc != MATCH_NOMATCH) RRETURN(rrc); |
if (rrc != MATCH_NOMATCH) RRETURN(rrc); |
2139 |
if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
2140 |
GETCHARINC(c, eptr); |
GETCHARINCTEST(c, eptr); |
2141 |
if (!_pcre_xclass(c, data)) RRETURN(MATCH_NOMATCH); |
if (!_pcre_xclass(c, data)) RRETURN(MATCH_NOMATCH); |
2142 |
} |
} |
2143 |
/* Control never gets here */ |
/* Control never gets here */ |
2152 |
{ |
{ |
2153 |
int len = 1; |
int len = 1; |
2154 |
if (eptr >= md->end_subject) break; |
if (eptr >= md->end_subject) break; |
2155 |
GETCHARLEN(c, eptr, len); |
GETCHARLENTEST(c, eptr, len); |
2156 |
if (!_pcre_xclass(c, data)) break; |
if (!_pcre_xclass(c, data)) break; |
2157 |
eptr += len; |
eptr += len; |
2158 |
} |
} |