--- code/trunk/pcre_dfa_exec.c 2007/04/16 15:28:08 149 +++ code/trunk/pcre_dfa_exec.c 2007/04/17 08:22:40 150 @@ -2175,7 +2175,7 @@ case PCRE_NEWLINE_CR+ PCRE_NEWLINE_LF: newline = ('\r' << 8) | '\n'; break; case PCRE_NEWLINE_ANY: newline = -1; break; - case PCRE_NEWLINE_ANYCRLF: newline = -2; break; + case PCRE_NEWLINE_ANYCRLF: newline = -2; break; default: return PCRE_ERROR_BADNEWLINE; } @@ -2431,13 +2431,13 @@ } if (current_subject > end_subject) break; - /* If we have just passed a CR and the newline option is CRLF or ANY or + /* If we have just passed a CR and the newline option is CRLF or ANY or ANYCRLF, and we are now at a LF, advance the match position by one more character. */ if (current_subject[-1] == '\r' && - (md->nltype == NLTYPE_ANY || - md->nltype == NLTYPE_ANYCRLF || + (md->nltype == NLTYPE_ANY || + md->nltype == NLTYPE_ANYCRLF || md->nllen == 2) && current_subject < end_subject && *current_subject == '\n')