[U-Boot] [PATCH 01/18] tiny-printf: Always print zeroes
Stefan Roese
sr at denx.de
Tue Jan 5 18:08:18 CET 2016
On 05.01.2016 17:30, Simon Glass wrote:
> 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 at chromium.org>
> ---
>
> lib/tiny-printf.c | 16 ++++++++++++----
> 1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/lib/tiny-printf.c b/lib/tiny-printf.c
> index efe5c25..a06abed 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)));
>
Reviewed-by: Stefan Roese <sr at denx.de>
Thanks,
Stefan
More information about the U-Boot
mailing list