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;