130 |
0, /* CREF */ |
0, /* CREF */ |
131 |
0, /* RREF */ |
0, /* RREF */ |
132 |
0, /* DEF */ |
0, /* DEF */ |
133 |
0, 0 /* BRAZERO, BRAMINZERO */ |
0, 0, /* BRAZERO, BRAMINZERO */ |
134 |
|
0, 0, 0, 0, /* PRUNE, SKIP, THEN, COMMIT */ |
135 |
|
0, 0 /* FAIL, ACCEPT */ |
136 |
}; |
}; |
137 |
|
|
138 |
/* These 2 tables allow for compact code for testing for \D, \d, \S, \s, \W, |
/* These 2 tables allow for compact code for testing for \D, \d, \S, \s, \W, |
2842 |
} |
} |
2843 |
if (current_subject > end_subject) break; |
if (current_subject > end_subject) break; |
2844 |
|
|
2845 |
/* 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 |
2846 |
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 |
2847 |
character. */ |
or ANY or ANYCRLF, advance the match position by one more character. */ |
2848 |
|
|
2849 |
if (current_subject[-1] == '\r' && |
if (current_subject[-1] == '\r' && |
2850 |
(md->nltype == NLTYPE_ANY || |
current_subject < end_subject && |
2851 |
md->nltype == NLTYPE_ANYCRLF || |
*current_subject == '\n' && |
2852 |
md->nllen == 2) && |
(re->options & PCRE_HASCRORLF) == 0 && |
2853 |
current_subject < end_subject && |
(md->nltype == NLTYPE_ANY || |
2854 |
*current_subject == '\n') |
md->nltype == NLTYPE_ANYCRLF || |
2855 |
|
md->nllen == 2)) |
2856 |
current_subject++; |
current_subject++; |
2857 |
|
|
2858 |
} /* "Bumpalong" loop */ |
} /* "Bumpalong" loop */ |