299 |
int Xprop_category; |
int Xprop_category; |
300 |
int Xprop_chartype; |
int Xprop_chartype; |
301 |
int Xprop_script; |
int Xprop_script; |
302 |
int Xoclength; |
int Xoclength; |
303 |
uschar Xocchars[8]; |
uschar Xocchars[8]; |
304 |
#endif |
#endif |
305 |
|
|
306 |
int Xctype; |
int Xctype; |
2062 |
for (i = 1; i <= min; i++) |
for (i = 1; i <= min; i++) |
2063 |
{ |
{ |
2064 |
if (memcmp(eptr, charptr, length) == 0) eptr += length; |
if (memcmp(eptr, charptr, length) == 0) eptr += length; |
2065 |
#ifdef SUPPORT_UCP |
#ifdef SUPPORT_UCP |
2066 |
/* Need braces because of following else */ |
/* Need braces because of following else */ |
2067 |
else if (oclength == 0) { RRETURN(MATCH_NOMATCH); } |
else if (oclength == 0) { RRETURN(MATCH_NOMATCH); } |
2068 |
else |
else |
2072 |
} |
} |
2073 |
#else /* without SUPPORT_UCP */ |
#else /* without SUPPORT_UCP */ |
2074 |
else { RRETURN(MATCH_NOMATCH); } |
else { RRETURN(MATCH_NOMATCH); } |
2075 |
#endif /* SUPPORT_UCP */ |
#endif /* SUPPORT_UCP */ |
2076 |
} |
} |
2077 |
|
|
2078 |
if (min == max) continue; |
if (min == max) continue; |
2085 |
if (rrc != MATCH_NOMATCH) RRETURN(rrc); |
if (rrc != MATCH_NOMATCH) RRETURN(rrc); |
2086 |
if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); |
2087 |
if (memcmp(eptr, charptr, length) == 0) eptr += length; |
if (memcmp(eptr, charptr, length) == 0) eptr += length; |
2088 |
#ifdef SUPPORT_UCP |
#ifdef SUPPORT_UCP |
2089 |
/* Need braces because of following else */ |
/* Need braces because of following else */ |
2090 |
else if (oclength == 0) { RRETURN(MATCH_NOMATCH); } |
else if (oclength == 0) { RRETURN(MATCH_NOMATCH); } |
2091 |
else |
else |
2107 |
{ |
{ |
2108 |
if (eptr > md->end_subject - length) break; |
if (eptr > md->end_subject - length) break; |
2109 |
if (memcmp(eptr, charptr, length) == 0) eptr += length; |
if (memcmp(eptr, charptr, length) == 0) eptr += length; |
2110 |
#ifdef SUPPORT_UCP |
#ifdef SUPPORT_UCP |
2111 |
else if (oclength == 0) break; |
else if (oclength == 0) break; |
2112 |
else |
else |
2113 |
{ |
{ |
2116 |
} |
} |
2117 |
#else /* without SUPPORT_UCP */ |
#else /* without SUPPORT_UCP */ |
2118 |
else break; |
else break; |
2119 |
#endif /* SUPPORT_UCP */ |
#endif /* SUPPORT_UCP */ |
2120 |
} |
} |
2121 |
|
|
2122 |
if (possessive) continue; |
if (possessive) continue; |
2123 |
while (eptr >= pp) |
for(;;) |
2124 |
{ |
{ |
2125 |
RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); |
RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); |
2126 |
if (rrc != MATCH_NOMATCH) RRETURN(rrc); |
if (rrc != MATCH_NOMATCH) RRETURN(rrc); |
2127 |
|
if (eptr == pp) RRETURN(MATCH_NOMATCH); |
2128 |
#ifdef SUPPORT_UCP |
#ifdef SUPPORT_UCP |
2129 |
eptr--; |
eptr--; |
2130 |
BACKCHAR(eptr); |
BACKCHAR(eptr); |
2131 |
#else /* without SUPPORT_UCP */ |
#else /* without SUPPORT_UCP */ |
2132 |
eptr -= length; |
eptr -= length; |
2133 |
#endif /* SUPPORT_UCP */ |
#endif /* SUPPORT_UCP */ |
2134 |
} |
} |
|
RRETURN(MATCH_NOMATCH); |
|
2135 |
} |
} |
2136 |
/* Control never gets here */ |
/* Control never gets here */ |
2137 |
} |
} |
4013 |
{ |
{ |
4014 |
while (start_match <= end_subject && !WAS_NEWLINE(start_match)) |
while (start_match <= end_subject && !WAS_NEWLINE(start_match)) |
4015 |
start_match++; |
start_match++; |
4016 |
|
|
4017 |
|
/* If we have just passed a CR and the newline option is ANY, and we are |
4018 |
|
now at a LF, advance the match position by one more character. */ |
4019 |
|
|
4020 |
|
if (start_match[-1] == '\r' && |
4021 |
|
md->nltype == NLTYPE_ANY && |
4022 |
|
start_match < end_subject && |
4023 |
|
*start_match == '\n') |
4024 |
|
start_match++; |
4025 |
} |
} |
4026 |
} |
} |
4027 |
|
|