2733 |
|
|
2734 |
if (firstline) |
if (firstline) |
2735 |
{ |
{ |
2736 |
const uschar *t = current_subject; |
USPTR t = current_subject; |
2737 |
|
#ifdef SUPPORT_UTF8 |
2738 |
|
if (utf8) |
2739 |
|
{ |
2740 |
|
while (t < md->end_subject && !IS_NEWLINE(t)) |
2741 |
|
{ |
2742 |
|
t++; |
2743 |
|
while (t < end_subject && (*t & 0xc0) == 0x80) t++; |
2744 |
|
} |
2745 |
|
} |
2746 |
|
else |
2747 |
|
#endif |
2748 |
while (t < md->end_subject && !IS_NEWLINE(t)) t++; |
while (t < md->end_subject && !IS_NEWLINE(t)) t++; |
2749 |
end_subject = t; |
end_subject = t; |
2750 |
} |
} |
2766 |
{ |
{ |
2767 |
if (current_subject > md->start_subject + start_offset) |
if (current_subject > md->start_subject + start_offset) |
2768 |
{ |
{ |
2769 |
|
#ifdef SUPPORT_UTF8 |
2770 |
|
if (utf8) |
2771 |
|
{ |
2772 |
|
while (current_subject < end_subject && !WAS_NEWLINE(current_subject)) |
2773 |
|
{ |
2774 |
|
current_subject++; |
2775 |
|
while(current_subject < end_subject && |
2776 |
|
(*current_subject & 0xc0) == 0x80) |
2777 |
|
current_subject++; |
2778 |
|
} |
2779 |
|
} |
2780 |
|
else |
2781 |
|
#endif |
2782 |
while (current_subject < end_subject && !WAS_NEWLINE(current_subject)) |
while (current_subject < end_subject && !WAS_NEWLINE(current_subject)) |
2783 |
current_subject++; |
current_subject++; |
2784 |
|
|
2785 |
/* If we have just passed a CR and the newline option is ANY or |
/* If we have just passed a CR and the newline option is ANY or |
2786 |
ANYCRLF, and we are now at a LF, advance the match position by one more |
ANYCRLF, and we are now at a LF, advance the match position by one more |
2787 |
character. */ |
character. */ |