Mercurial > vim
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 } |