diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2015-01-03 13:15:10 -0500 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2015-01-03 13:15:10 -0500 |
commit | a0bcd7d5f5ffcfbac1a4f57cf4e1e0efe1d1bed6 (patch) | |
tree | 99e5a34c92bd17252908026523ef038078e02fdc /src/nvim/ops.c | |
parent | d61111530541f74df89c010e5edfb633a412dc72 (diff) | |
parent | ceb54c55ad779b08caf7fbb55fb3460d90352a52 (diff) | |
download | rneovim-a0bcd7d5f5ffcfbac1a4f57cf4e1e0efe1d1bed6.tar.gz rneovim-a0bcd7d5f5ffcfbac1a4f57cf4e1e0efe1d1bed6.tar.bz2 rneovim-a0bcd7d5f5ffcfbac1a4f57cf4e1e0efe1d1bed6.zip |
Merge pull request #1768 from fwalch/vim-7.4.559
vim-patch:7.4.559
Diffstat (limited to 'src/nvim/ops.c')
-rw-r--r-- | src/nvim/ops.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c index 9b33b6732c..3cefc9f623 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -515,17 +515,17 @@ static void block_insert(oparg_T *oap, char_u *s, int b_insert, struct block_def } if (has_mbyte && spaces > 0) { + int off; + // Avoid starting halfway a multi-byte character. if (b_insert) { - int off = (*mb_head_off)(oldp, oldp + offset + spaces); - spaces -= off; - count -= off; + off = (*mb_head_off)(oldp, oldp + offset + spaces); } else { - int off = (*mb_off_next)(oldp, oldp + offset); + off = (*mb_off_next)(oldp, oldp + offset); offset += off; - spaces = 0; - count = 0; } + spaces -= off; + count -= off; } newp = (char_u *) xmalloc((size_t)(STRLEN(oldp) + s_len + count + 1)); |