mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-10-01 17:10:42 +09:00
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 <sjg@chromium.org> Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
5589a81829
commit
74b1320ae5
@ -82,13 +82,21 @@ int vprintf(const char *fmt, va_list va)
|
|||||||
num = -(int)num;
|
num = -(int)num;
|
||||||
out('-');
|
out('-');
|
||||||
}
|
}
|
||||||
|
if (!num) {
|
||||||
|
out_dgt(0);
|
||||||
|
} else {
|
||||||
for (div = 1000000000; div; div /= 10)
|
for (div = 1000000000; div; div /= 10)
|
||||||
div_out(&num, div);
|
div_out(&num, div);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'x':
|
case 'x':
|
||||||
num = va_arg(va, unsigned int);
|
num = va_arg(va, unsigned int);
|
||||||
|
if (!num) {
|
||||||
|
out_dgt(0);
|
||||||
|
} else {
|
||||||
for (div = 0x10000000; div; div /= 0x10)
|
for (div = 0x10000000; div; div /= 0x10)
|
||||||
div_out(&num, div);
|
div_out(&num, div);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'c':
|
case 'c':
|
||||||
out((char)(va_arg(va, int)));
|
out((char)(va_arg(va, int)));
|
||||||
|
Loading…
Reference in New Issue
Block a user