Mercurial > vim
comparison src/quickfix.c @ 22099:b7cc5d8ea702 v8.2.1599
patch 8.2.1599: missing line end when skipping a long line with :cgetfile
Commit: https://github.com/vim/vim/commit/59941cbd8035415d68683edc4e571306b10669ad
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Sep 5 17:03:40 2020 +0200
patch 8.2.1599: missing line end when skipping a long line with :cgetfile
Problem: Missing line end when skipping a long line with :cgetfile.
Solution: Fix off-by-one error. (closes https://github.com/vim/vim/issues/6870)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 05 Sep 2020 17:15:03 +0200 |
parents | d8065205ea82 |
children | faaf88167b58 |
comparison
equal
deleted
inserted
replaced
22098:17faee57791f | 22099:b7cc5d8ea702 |
---|---|
808 // The current line is longer than LINE_MAXLEN, continue | 808 // The current line is longer than LINE_MAXLEN, continue |
809 // reading but discard everything until EOL or EOF is | 809 // reading but discard everything until EOL or EOF is |
810 // reached. | 810 // reached. |
811 if (fgets((char *)IObuff, IOSIZE, state->fd) == NULL | 811 if (fgets((char *)IObuff, IOSIZE, state->fd) == NULL |
812 || (int)STRLEN(IObuff) < IOSIZE - 1 | 812 || (int)STRLEN(IObuff) < IOSIZE - 1 |
813 || IObuff[IOSIZE - 1] == '\n') | 813 || IObuff[IOSIZE - 2] == '\n') |
814 break; | 814 break; |
815 } | 815 } |
816 | 816 |
817 state->linebuf = state->growbuf; | 817 state->linebuf = state->growbuf; |
818 state->linelen = growbuflen; | 818 state->linelen = growbuflen; |