| 2088 |
RMATCH(eptr, ecode, offset_top, md, ims, eptrb, 0, RM21); |
RMATCH(eptr, ecode, offset_top, md, ims, eptrb, 0, RM21); |
| 2089 |
if (rrc != MATCH_NOMATCH) RRETURN(rrc); |
if (rrc != MATCH_NOMATCH) RRETURN(rrc); |
| 2090 |
if (eptr-- == pp) break; /* Stop if tried at original pos */ |
if (eptr-- == pp) break; /* Stop if tried at original pos */ |
| 2091 |
BACKCHAR(eptr); |
if (utf8) BACKCHAR(eptr); |
| 2092 |
} |
} |
| 2093 |
RRETURN(MATCH_NOMATCH); |
RRETURN(MATCH_NOMATCH); |
| 2094 |
} |
} |
| 3093 |
for (i = 1; i <= min; i++) |
for (i = 1; i <= min; i++) |
| 3094 |
{ |
{ |
| 3095 |
if (eptr >= md->end_subject || |
if (eptr >= md->end_subject || |
| 3096 |
(*eptr < 128 && (md->ctypes[*eptr++] & ctype_space) != 0)) |
(*eptr < 128 && (md->ctypes[*eptr] & ctype_space) != 0)) |
| 3097 |
RRETURN(MATCH_NOMATCH); |
RRETURN(MATCH_NOMATCH); |
| 3098 |
while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++; |
while (++eptr < md->end_subject && (*eptr & 0xc0) == 0x80); |
| 3099 |
} |
} |
| 3100 |
break; |
break; |
| 3101 |
|
|
| 3113 |
for (i = 1; i <= min; i++) |
for (i = 1; i <= min; i++) |
| 3114 |
{ |
{ |
| 3115 |
if (eptr >= md->end_subject || |
if (eptr >= md->end_subject || |
| 3116 |
(*eptr < 128 && (md->ctypes[*eptr++] & ctype_word) != 0)) |
(*eptr < 128 && (md->ctypes[*eptr] & ctype_word) != 0)) |
| 3117 |
RRETURN(MATCH_NOMATCH); |
RRETURN(MATCH_NOMATCH); |
| 3118 |
while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++; |
while (++eptr < md->end_subject && (*eptr & 0xc0) == 0x80); |
| 3119 |
} |
} |
| 3120 |
break; |
break; |
| 3121 |
|
|
| 4785 |
|
|
| 4786 |
if (anchored || start_match > end_subject) break; |
if (anchored || start_match > end_subject) break; |
| 4787 |
|
|
| 4788 |
/* If we have just passed a CR and the newline option is CRLF or ANY or |
/* If we have just passed a CR and we are now at a LF, and the pattern does |
| 4789 |
ANYCRLF, and we are now at a LF, advance the match position by one more |
not contain any explicit matches for \r or \n, and the newline option is CRLF |
| 4790 |
character. */ |
or ANY or ANYCRLF, advance the match position by one more character. */ |
| 4791 |
|
|
| 4792 |
if (start_match[-1] == '\r' && |
if (start_match[-1] == '\r' && |
| 4793 |
(md->nltype == NLTYPE_ANY || |
start_match < end_subject && |
| 4794 |
md->nltype == NLTYPE_ANYCRLF || |
*start_match == '\n' && |
| 4795 |
md->nllen == 2) && |
(re->options & PCRE_HASCRORLF) == 0 && |
| 4796 |
start_match < end_subject && |
(md->nltype == NLTYPE_ANY || |
| 4797 |
*start_match == '\n') |
md->nltype == NLTYPE_ANYCRLF || |
| 4798 |
|
md->nllen == 2)) |
| 4799 |
start_match++; |
start_match++; |
| 4800 |
|
|
| 4801 |
} /* End of for(;;) "bumpalong" loop */ |
} /* End of for(;;) "bumpalong" loop */ |