| 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 |
} |
} |