Mercurial > vim
diff src/message.c @ 19615:2aaef1547255 v8.2.0364
patch 8.2.0364: printf test failing on Haiku
Commit: https://github.com/vim/vim/commit/693e80e93897aff3b07a1ef12b68a6527702f3d7
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Mar 8 18:41:09 2020 +0100
patch 8.2.0364: printf test failing on Haiku
Problem: Printf test failing on Haiku.
Solution: Make a difference between int and short. (Dominique Pelle,
closes #5749)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 08 Mar 2020 18:45:03 +0100 |
parents | b38d73f36467 |
children | d64f403289db |
line wrap: on
line diff
--- a/src/message.c +++ b/src/message.c @@ -4722,9 +4722,13 @@ vim_vsnprintf_typval( // signed switch (length_modifier) { - case '\0': + case '\0': str_arg_l += sprintf( + tmp + str_arg_l, f, + int_arg); + break; case 'h': str_arg_l += sprintf( - tmp + str_arg_l, f, int_arg); + tmp + str_arg_l, f, + (short)int_arg); break; case 'l': str_arg_l += sprintf( tmp + str_arg_l, f, long_arg); @@ -4739,9 +4743,13 @@ vim_vsnprintf_typval( // unsigned switch (length_modifier) { - case '\0': + case '\0': str_arg_l += sprintf( + tmp + str_arg_l, f, + uint_arg); + break; case 'h': str_arg_l += sprintf( - tmp + str_arg_l, f, uint_arg); + tmp + str_arg_l, f, + (unsigned short)uint_arg); break; case 'l': str_arg_l += sprintf( tmp + str_arg_l, f, ulong_arg);