199 |
GETCHARINC(c, eptr); |
GETCHARINC(c, eptr); |
200 |
GETCHARINC(d, p); |
GETCHARINC(d, p); |
201 |
ur = GET_UCD(d); |
ur = GET_UCD(d); |
202 |
if (c != d && c != d + ur->other_case) |
if (c != d && c != d + ur->other_case) |
203 |
{ |
{ |
204 |
const pcre_uint32 *pp = PRIV(ucd_caseless_sets) + ur->caseset; |
const pcre_uint32 *pp = PRIV(ucd_caseless_sets) + ur->caseset; |
205 |
for (;;) |
for (;;) |
206 |
{ |
{ |
207 |
if (c < *pp) return -1; |
if (c < *pp) return -1; |
2532 |
} |
} |
2533 |
GETCHARINCTEST(c, eptr); |
GETCHARINCTEST(c, eptr); |
2534 |
{ |
{ |
2535 |
const pcre_uint32 *cp; |
const pcre_uint32 *cp; |
2536 |
const ucd_record *prop = GET_UCD(c); |
const ucd_record *prop = GET_UCD(c); |
2537 |
|
|
2538 |
switch(ecode[1]) |
switch(ecode[1]) |
4203 |
RRETURN(MATCH_NOMATCH); |
RRETURN(MATCH_NOMATCH); |
4204 |
} |
} |
4205 |
break; |
break; |
4206 |
|
|
4207 |
case PT_CLIST: |
case PT_CLIST: |
4208 |
for (i = 1; i <= min; i++) |
for (i = 1; i <= min; i++) |
4209 |
{ |
{ |
4210 |
const pcre_uint32 *cp; |
const pcre_uint32 *cp; |
4211 |
if (eptr >= md->end_subject) |
if (eptr >= md->end_subject) |
4212 |
{ |
{ |
4217 |
cp = PRIV(ucd_caseless_sets) + prop_value; |
cp = PRIV(ucd_caseless_sets) + prop_value; |
4218 |
for (;;) |
for (;;) |
4219 |
{ |
{ |
4220 |
if (c < *cp) |
if (c < *cp) |
4221 |
{ if (prop_fail_result) break; else { RRETURN(MATCH_NOMATCH); } } |
{ if (prop_fail_result) break; else { RRETURN(MATCH_NOMATCH); } } |
4222 |
if (c == *cp++) |
if (c == *cp++) |
4223 |
{ if (prop_fail_result) { RRETURN(MATCH_NOMATCH); } else break; } |
{ if (prop_fail_result) { RRETURN(MATCH_NOMATCH); } else break; } |
4224 |
} |
} |
4225 |
} |
} |
4226 |
break; |
break; |
4227 |
|
|
4228 |
/* This should not occur */ |
/* This should not occur */ |
4229 |
|
|
4230 |
default: |
default: |
4954 |
|
|
4955 |
case PT_CLIST: |
case PT_CLIST: |
4956 |
for (fi = min;; fi++) |
for (fi = min;; fi++) |
4957 |
{ |
{ |
4958 |
const pcre_uint32 *cp; |
const pcre_uint32 *cp; |
4959 |
RMATCH(eptr, ecode, offset_top, md, eptrb, RM67); |
RMATCH(eptr, ecode, offset_top, md, eptrb, RM67); |
4960 |
if (rrc != MATCH_NOMATCH) RRETURN(rrc); |
if (rrc != MATCH_NOMATCH) RRETURN(rrc); |
5445 |
eptr+= len; |
eptr+= len; |
5446 |
} |
} |
5447 |
break; |
break; |
5448 |
|
|
5449 |
case PT_CLIST: |
case PT_CLIST: |
5450 |
for (i = min; i < max; i++) |
for (i = min; i < max; i++) |
5451 |
{ |
{ |
5460 |
cp = PRIV(ucd_caseless_sets) + prop_value; |
cp = PRIV(ucd_caseless_sets) + prop_value; |
5461 |
for (;;) |
for (;;) |
5462 |
{ |
{ |
5463 |
if (c < *cp) |
if (c < *cp) |
5464 |
{ if (prop_fail_result) break; else goto GOT_MAX; } |
{ if (prop_fail_result) break; else goto GOT_MAX; } |
5465 |
if (c == *cp++) |
if (c == *cp++) |
5466 |
{ if (prop_fail_result) goto GOT_MAX; else break; } |
{ if (prop_fail_result) goto GOT_MAX; else break; } |
5467 |
} |
} |
5468 |
eptr += len; |
eptr += len; |
5469 |
} |
} |
5470 |
GOT_MAX: |
GOT_MAX: |
5471 |
break; |
break; |
5472 |
|
|
5473 |
default: |
default: |