summaryrefslogtreecommitdiff
path: root/src/console
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2019-05-01 16:51:20 -0700
committerPatrick Georgi <pgeorgi@google.com>2019-05-06 10:32:15 +0000
commit7c712bbb6c969ae7014707bfddedd821035a2171 (patch)
tree4c357814eabac828a5d7cea3e0bd90b5b15851d1 /src/console
parent9d3fa7a22985a2ae080a8e36c89107691d15174f (diff)
Fix code that would trip -Wtype-limits
This patch fixes up all code that would throw a -Wtype-limits warning. This sometimes involves eliminating unnecessary checks, adding a few odd but harmless casts or just pragma'ing out the warning for a whole file -- I tried to find the path of least resistance. I think the overall benefit of the warning outweighs the occasional weirdness. Change-Id: Iacd37eb1fad388d9db7267ceccb03e6dcf1ad0d2 Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/32537 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/console')
-rw-r--r--src/console/vtxprintf.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/console/vtxprintf.c b/src/console/vtxprintf.c
index 043a1dae37..f42ed6d077 100644
--- a/src/console/vtxprintf.c
+++ b/src/console/vtxprintf.c
@@ -56,8 +56,10 @@ static int number(void (*tx_byte)(unsigned char byte, void *data),
int count = 0;
#ifdef SUPPORT_64BIT_INTS
unsigned long long num = inum;
+ long long snum = num;
#else
- unsigned long num = (long)inum;
+ unsigned long num = (unsigned long)inum;
+ long snum = (long)num;
if (num != inum) {
/* Alert user to an incorrect result by printing #^!. */
@@ -76,9 +78,9 @@ static int number(void (*tx_byte)(unsigned char byte, void *data),
c = (type & ZEROPAD) ? '0' : ' ';
sign = 0;
if (type & SIGN) {
- if ((signed long long)num < 0) {
+ if (snum < 0) {
sign = '-';
- num = -num;
+ num = -snum;
size--;
} else if (type & PLUS) {
sign = '+';