diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2017-02-28 00:46:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-28 00:46:09 +0100 |
commit | 28a6d4393db0de56ade7e75d0029f6bbd8f2e9db (patch) | |
tree | 6d0428d0d44ad7b5650abf0407d4af16a9a87ace /src/nvim/message.c | |
parent | c8ee0be7451ed5bf02a87270fa47fbb1372aa85d (diff) | |
parent | 1a81ec6d8841e96ce01f25fd030f76851b00d895 (diff) | |
download | rneovim-28a6d4393db0de56ade7e75d0029f6bbd8f2e9db.tar.gz rneovim-28a6d4393db0de56ade7e75d0029f6bbd8f2e9db.tar.bz2 rneovim-28a6d4393db0de56ade7e75d0029f6bbd8f2e9db.zip |
Merge #6148 from delftswa2017/clang-scan-fix-dead-stores
vim-patch:8.0.0353
Diffstat (limited to 'src/nvim/message.c')
-rw-r--r-- | src/nvim/message.c | 37 |
1 files changed, 11 insertions, 26 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c index 5427ae7793..699f4b87b9 100644 --- a/src/nvim/message.c +++ b/src/nvim/message.c @@ -269,33 +269,18 @@ void trunc_string(char_u *s, char_u *buf, int room, int buflen) } } - /* Last part: End of the string. */ - i = e; - if (enc_dbcs != 0) { - /* For DBCS going backwards in a string is slow, but - * computing the cell width isn't too slow: go forward - * until the rest fits. */ - n = vim_strsize(s + i); - while (len + n > room) { - n -= ptr2cells(s + i); - i += (*mb_ptr2len)(s + i); - } - } else if (enc_utf8) { - /* For UTF-8 we can go backwards easily. */ - half = i = (int)STRLEN(s); - for (;; ) { - do - half = half - (*mb_head_off)(s, s + half - 1) - 1; - while (utf_iscomposing(utf_ptr2char(s + half)) && half > 0); - n = ptr2cells(s + half); - if (len + n > room) - break; - len += n; - i = half; + // Last part: End of the string. + half = i = (int)STRLEN(s); + for (;;) { + do { + half = half - (*mb_head_off)(s, s + half - 1) - 1; + } while (utf_iscomposing(utf_ptr2char(s + half)) && half > 0); + n = ptr2cells(s + half); + if (len + n > room) { + break; } - } else { - for (i = (int)STRLEN(s); len + (n = ptr2cells(s + i - 1)) <= room; --i) - len += n; + len += n; + i = half; } if (i <= e + 3) { |