aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/message.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2017-04-17 22:02:46 +0200
committerJustin M. Keyes <justinkz@gmail.com>2017-04-17 22:02:46 +0200
commitce7cba6d7f36e79d52825215ba7b6848397b0440 (patch)
treecf249b863e9bfa1a6943b91dc293cc38bf71f6a7 /src/nvim/message.c
parent7debba9d4295f09bc338a5f0718abdc54d565a56 (diff)
parent2eb9150a4fcb8f43599e5f470cbcb3a12195d910 (diff)
downloadrneovim-ce7cba6d7f36e79d52825215ba7b6848397b0440.tar.gz
rneovim-ce7cba6d7f36e79d52825215ba7b6848397b0440.tar.bz2
rneovim-ce7cba6d7f36e79d52825215ba7b6848397b0440.zip
Merge #6533 'Fix PVS-studio warnings'
Diffstat (limited to 'src/nvim/message.c')
-rw-r--r--src/nvim/message.c25
1 files changed, 8 insertions, 17 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c
index 3e4a1e10b6..42e1fd1cf9 100644
--- a/src/nvim/message.c
+++ b/src/nvim/message.c
@@ -1165,15 +1165,9 @@ int msg_outtrans_len_attr(char_u *msgstr, int len, int attr)
* Normal characters are printed several at a time.
*/
while (--len >= 0) {
- if (enc_utf8) {
- // Don't include composing chars after the end.
- mb_l = utfc_ptr2len_len((char_u *)str, len + 1);
- } else if (has_mbyte) {
- mb_l = (*mb_ptr2len)((char_u *)str);
- } else {
- mb_l = 1;
- }
- if (has_mbyte && mb_l > 1) {
+ // Don't include composing chars after the end.
+ mb_l = utfc_ptr2len_len((char_u *)str, len + 1);
+ if (mb_l > 1) {
c = (*mb_ptr2char)((char_u *)str);
if (vim_isprintc(c)) {
// Printable multi-byte char: count the cells.
@@ -1663,16 +1657,13 @@ static void msg_puts_display(const char_u *str, int maxlen, int attr,
// Display char in last column before showing more-prompt.
if (*s >= ' ' && !cmdmsg_rl) {
- if (has_mbyte) {
- if (enc_utf8 && maxlen >= 0)
- /* avoid including composing chars after the end */
- l = utfc_ptr2len_len(s, (int)((str + maxlen) - s));
- else
- l = (*mb_ptr2len)(s);
- s = screen_puts_mbyte((char_u *)s, l, attr);
+ if (maxlen >= 0) {
+ // Avoid including composing chars after the end.
+ l = utfc_ptr2len_len(s, (int)((str + maxlen) - s));
} else {
- msg_screen_putchar(*s++, attr);
+ l = utfc_ptr2len(s);
}
+ s = screen_puts_mbyte((char_u *)s, l, attr);
did_last_char = true;
} else {
did_last_char = false;