|
@@ -1485,7 +1485,10 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
|
|
|
num = va_arg(args, long);
|
|
|
break;
|
|
|
case FORMAT_TYPE_SIZE_T:
|
|
|
- num = va_arg(args, size_t);
|
|
|
+ if (spec.flags & SIGN)
|
|
|
+ num = va_arg(args, ssize_t);
|
|
|
+ else
|
|
|
+ num = va_arg(args, size_t);
|
|
|
break;
|
|
|
case FORMAT_TYPE_PTRDIFF:
|
|
|
num = va_arg(args, ptrdiff_t);
|