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
index cb1a773..0119145 100644
--- a/src/message.c
+++ b/src/message.c
@@ -4722,9 +4722,13 @@
// 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 @@
// 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);