| 1705 |
if (eptr < md->end_subject) |
if (eptr < md->end_subject) |
| 1706 |
{ if (!IS_NEWLINE(eptr)) MRRETURN(MATCH_NOMATCH); } |
{ if (!IS_NEWLINE(eptr)) MRRETURN(MATCH_NOMATCH); } |
| 1707 |
else |
else |
| 1708 |
{ |
{ |
| 1709 |
if (md->noteol) MRRETURN(MATCH_NOMATCH); |
if (md->noteol) MRRETURN(MATCH_NOMATCH); |
| 1710 |
SCHECK_PARTIAL(); |
SCHECK_PARTIAL(); |
| 1711 |
} |
} |
| 1712 |
ecode++; |
ecode++; |
| 1717 |
if (md->noteol) MRRETURN(MATCH_NOMATCH); |
if (md->noteol) MRRETURN(MATCH_NOMATCH); |
| 1718 |
if (!md->endonly) goto ASSERT_NL_OR_EOS; |
if (!md->endonly) goto ASSERT_NL_OR_EOS; |
| 1719 |
} |
} |
| 1720 |
|
|
| 1721 |
/* ... else fall through for endonly */ |
/* ... else fall through for endonly */ |
| 1722 |
|
|
| 1723 |
/* End of subject assertion (\z) */ |
/* End of subject assertion (\z) */ |
| 1735 |
if (eptr < md->end_subject && |
if (eptr < md->end_subject && |
| 1736 |
(!IS_NEWLINE(eptr) || eptr != md->end_subject - md->nllen)) |
(!IS_NEWLINE(eptr) || eptr != md->end_subject - md->nllen)) |
| 1737 |
MRRETURN(MATCH_NOMATCH); |
MRRETURN(MATCH_NOMATCH); |
| 1738 |
|
|
| 1739 |
/* Either at end of string or \n before end. */ |
/* Either at end of string or \n before end. */ |
| 1740 |
|
|
| 1741 |
SCHECK_PARTIAL(); |
SCHECK_PARTIAL(); |
| 1742 |
ecode++; |
ecode++; |
| 1743 |
break; |
break; |
| 5801 |
#ifdef SUPPORT_UTF8 |
#ifdef SUPPORT_UTF8 |
| 5802 |
if (utf8 && (options & PCRE_NO_UTF8_CHECK) == 0) |
if (utf8 && (options & PCRE_NO_UTF8_CHECK) == 0) |
| 5803 |
{ |
{ |
| 5804 |
int tb; |
int tb; |
| 5805 |
if ((tb = _pcre_valid_utf8((USPTR)subject, length)) >= 0) |
if ((tb = _pcre_valid_utf8((USPTR)subject, length)) >= 0) |
| 5806 |
return (tb == length && md->partial > 1)? |
return (tb == length && md->partial > 1)? |
| 5807 |
PCRE_ERROR_SHORTUTF8 : PCRE_ERROR_BADUTF8; |
PCRE_ERROR_SHORTUTF8 : PCRE_ERROR_BADUTF8; |
| 5808 |
if (start_offset > 0 && start_offset < length) |
if (start_offset > 0 && start_offset < length) |
| 5809 |
{ |
{ |
| 5936 |
/* There are some optimizations that avoid running the match if a known |
/* There are some optimizations that avoid running the match if a known |
| 5937 |
starting point is not found, or if a known later character is not present. |
starting point is not found, or if a known later character is not present. |
| 5938 |
However, there is an option that disables these, for testing and for ensuring |
However, there is an option that disables these, for testing and for ensuring |
| 5939 |
that all callouts do actually occur. The option can be set in the regex by |
that all callouts do actually occur. The option can be set in the regex by |
| 5940 |
(*NO_START_OPT) or passed in match-time options. */ |
(*NO_START_OPT) or passed in match-time options. */ |
| 5941 |
|
|
| 5942 |
if (((options | re->options) & PCRE_NO_START_OPTIMIZE) == 0) |
if (((options | re->options) & PCRE_NO_START_OPTIMIZE) == 0) |