From b8ef8b401d9dd1e15f2703eb997fb79a70ae531a Mon Sep 17 00:00:00 2001 From: Ada Christine Date: Thu, 17 Feb 2022 10:53:00 +0000 Subject: minor change to prevent potential weirdness with type width --- kc/core/kprint.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'kc') diff --git a/kc/core/kprint.c b/kc/core/kprint.c index 6e73601..5d2fbdc 100644 --- a/kc/core/kprint.c +++ b/kc/core/kprint.c @@ -359,9 +359,23 @@ static int print_integer( char buffer[65] = {0}; char *s; bool negative = false; - uint64_t value = va_arg(*arguments, uint64_t); + uint64_t value = 0; int r = 0; + switch (spec->integer_width) + { + case BYTE_WIDTH: + case SHORT_WIDTH: + case INT_WIDTH: + value = va_arg(*arguments, unsigned int); + break; + case LONG_WIDTH: + value = va_arg(*arguments, uint64_t); + break; + default: + return -1; + } + // check if we need to bother with signs if (spec->flags & SIGNED_TYPE_FLAG) { -- cgit v1.3.1-1-g115d