--- Gnu-Mach/linux/dev/lib/vsprintf.c 2020/09/02 04:41:39 1.1 +++ Gnu-Mach/linux/dev/lib/vsprintf.c 2020/09/02 04:45:53 1.1.1.3 @@ -131,13 +131,17 @@ number (char *str, long num, int base, i if (sign) *str++ = sign; if (type & SPECIAL) - if (base == 8) - *str++ = '0'; - else if (base == 16) - { - *str++ = '0'; - *str++ = digits[33]; - } + { + if (base == 8) + { + *str++ = '0'; + } + else if (base == 16) + { + *str++ = '0'; + *str++ = digits[33]; + } + } if (!(type & LEFT)) while (size-- > 0) *str++ = c; @@ -324,9 +328,9 @@ linux_vsprintf (char *buf, const char *f num = va_arg (args, unsigned long); else if (qualifier == 'h') if (flags & SIGN) - num = va_arg (args, short); + num = (short) va_arg (args, int); else - num = va_arg (args, unsigned short); + num = (unsigned short) va_arg (args, unsigned int); else if (flags & SIGN) num = va_arg (args, int); else