[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