From: Simon Glass Date: Tue, 5 Jan 2016 16:30:57 +0000 (-0700) Subject: tiny-printf: Always print zeroes X-Git-Tag: v2025.01-rc5-pxa1908~10643^2~43 X-Git-Url: http://git.dujemihanovic.xyz/img/%7B%7B%20.RelPermalink%20%7D%7D?a=commitdiff_plain;h=74b1320ae535b9dfe6fb7a86e05a8787e503f59c;p=u-boot.git tiny-printf: Always print zeroes At present this does not print zero values in numeric format (hex and decimal). Add a special case for this. Signed-off-by: Simon Glass Reviewed-by: Stefan Roese Reviewed-by: Tom Rini --- diff --git a/lib/tiny-printf.c b/lib/tiny-printf.c index efe5c25a59..a06abed495 100644 --- a/lib/tiny-printf.c +++ b/lib/tiny-printf.c @@ -82,13 +82,21 @@ int vprintf(const char *fmt, va_list va) num = -(int)num; out('-'); } - for (div = 1000000000; div; div /= 10) - div_out(&num, div); + if (!num) { + out_dgt(0); + } else { + for (div = 1000000000; div; div /= 10) + div_out(&num, div); + } break; case 'x': num = va_arg(va, unsigned int); - for (div = 0x10000000; div; div /= 0x10) - div_out(&num, div); + if (!num) { + out_dgt(0); + } else { + for (div = 0x10000000; div; div /= 0x10) + div_out(&num, div); + } break; case 'c': out((char)(va_arg(va, int)));