# HG changeset patch # User Bram Moolenaar # Date 1583689503 -3600 # Node ID 2aaef154725500f88109f2b7d38840734d848b70 # Parent f4c04059968fbbeb8e95d3ff043ee23642c012f9 patch 8.2.0364: printf test failing on Haiku Commit: https://github.com/vim/vim/commit/693e80e93897aff3b07a1ef12b68a6527702f3d7 Author: Bram Moolenaar 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) diff --git a/src/message.c b/src/message.c --- 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); diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -739,6 +739,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 364, +/**/ 363, /**/ 362,