mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:7.4.2144
Problem: On MS-Windows quickix does not handle a line with 1023 bytes
ending in CR-LF properly.
Solution: Don't consider CR a line break. (Ken Takata)
796aa9c804
This commit is contained in:
parent
3de3340132
commit
6311ec3a63
@ -564,11 +564,8 @@ static int qf_get_next_file_line(qfstate_T *state)
|
||||
|
||||
bool discard = false;
|
||||
state->linelen = STRLEN(IObuff);
|
||||
if (state->linelen == IOSIZE - 1 && !(IObuff[state->linelen - 1] == '\n'
|
||||
#ifdef USE_CRNL
|
||||
|| IObuff[state->linelen - 1] == '\r'
|
||||
#endif
|
||||
)) { // NOLINT(whitespace/parens)
|
||||
if (state->linelen == IOSIZE - 1
|
||||
&& !(IObuff[state->linelen - 1] == '\n')) { // NOLINT(whitespace/parens)
|
||||
// The current line exceeds IObuff, continue reading using growbuf
|
||||
// until EOL or LINE_MAXLEN bytes is read.
|
||||
if (state->growbuf == NULL) {
|
||||
@ -587,11 +584,7 @@ static int qf_get_next_file_line(qfstate_T *state)
|
||||
}
|
||||
state->linelen = STRLEN(state->growbuf + growbuflen);
|
||||
growbuflen += state->linelen;
|
||||
if (state->growbuf[growbuflen - 1] == '\n'
|
||||
#ifdef USE_CRNL
|
||||
|| state->growbuf[growbuflen - 1] == '\r'
|
||||
#endif
|
||||
) {
|
||||
if (state->growbuf[growbuflen - 1] == '\n') {
|
||||
break;
|
||||
}
|
||||
if (state->growbufsiz == LINE_MAXLEN) {
|
||||
@ -609,11 +602,7 @@ static int qf_get_next_file_line(qfstate_T *state)
|
||||
// discard everything until EOL or EOF is reached.
|
||||
if (fgets((char *)IObuff, IOSIZE, state->fd) == NULL
|
||||
|| STRLEN(IObuff) < IOSIZE - 1
|
||||
|| IObuff[IOSIZE - 1] == '\n'
|
||||
#ifdef USE_CRNL
|
||||
|| IObuff[IOSIZE - 1] == '\r'
|
||||
#endif
|
||||
) {
|
||||
|| IObuff[IOSIZE - 1] == '\n') {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -655,12 +644,12 @@ static int qf_get_nextline(qfstate_T *state)
|
||||
|
||||
if (state->linelen > 0 && state->linebuf[state->linelen - 1] == '\n') {
|
||||
state->linebuf[state->linelen - 1] = NUL;
|
||||
}
|
||||
#ifdef USE_CRNL
|
||||
if (state->linelen > 0 && state->linebuf[state->linelen - 1] == '\r') {
|
||||
state->linebuf[state->linelen - 1] = NUL;
|
||||
}
|
||||
if (state->linelen > 1 && state->linebuf[state->linelen - 2] == '\r') {
|
||||
state->linebuf[state->linelen - 2] = NUL;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
remove_bom(state->linebuf);
|
||||
|
||||
|
@ -296,7 +296,7 @@ static int included_patches[] = {
|
||||
2147,
|
||||
2146,
|
||||
// 2145 NA
|
||||
// 2144,
|
||||
2144,
|
||||
2143,
|
||||
2142,
|
||||
2141,
|
||||
|
Loading…
Reference in New Issue
Block a user