Use unsigned long, not uint32, for the 'l' qualifier in printf() - long is 64-bit on x86_64.

This commit is contained in:
Alex Smith
2012-06-27 15:11:06 +01:00
parent 45e0e08aed
commit 014f4403ee
+3 -3
View File
@@ -450,11 +450,11 @@ vsnprintf(char *buffer, size_t bufferSize, const char *format, va_list args)
}
if (qualifier == 'L')
num = va_arg(args, uint64);
num = va_arg(args, unsigned long long);
else if (qualifier == 'l') {
num = va_arg(args, uint32);
num = va_arg(args, unsigned long);
if ((flags & SIGN) != 0)
num = (ssize_t)num;
num = (long)num;
} else if (qualifier == 'z') {
num = va_arg(args, size_t);
if ((flags & SIGN) != 0)