comparison src/memline.c @ 14579:23d6d9e9ae3e v8.1.0303

patch 8.1.0303: line2byte() is wrong for last line with 'noeol' commit https://github.com/vim/vim/commit/c26f7c60532a37a2bf0a5e69aa81081b440dfc38 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Aug 20 22:53:04 2018 +0200 patch 8.1.0303: line2byte() is wrong for last line with 'noeol' Problem: line2byte() is wrong for last line with 'noeol' and 'nofixeol'. Solution: Fix off-by-one error. (Shane Harper, closes https://github.com/vim/vim/issues/3351)
author Christian Brabandt <cb@256bit.org>
date Mon, 20 Aug 2018 23:00:06 +0200
parents dddba3937532
children b6b2f7d69c7f
comparison
equal deleted inserted replaced
14578:4e22895e5442 14579:23d6d9e9ae3e
5265 size += lnum - 1; 5265 size += lnum - 1;
5266 5266
5267 /* Don't count the last line break if 'noeol' and ('bin' or 5267 /* Don't count the last line break if 'noeol' and ('bin' or
5268 * 'nofixeol'). */ 5268 * 'nofixeol'). */
5269 if ((!buf->b_p_fixeol || buf->b_p_bin) && !buf->b_p_eol 5269 if ((!buf->b_p_fixeol || buf->b_p_bin) && !buf->b_p_eol
5270 && buf->b_ml.ml_line_count == lnum) 5270 && lnum > buf->b_ml.ml_line_count)
5271 size -= ffdos + 1; 5271 size -= ffdos + 1;
5272 } 5272 }
5273 5273
5274 return size; 5274 return size;
5275 } 5275 }