diff options
| author | Tom Rini <trini@konsulko.com> | 2016-01-21 11:49:49 -0500 |
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2016-01-21 11:49:49 -0500 |
| commit | 6905f4d3c7be46fed4859f51f0a8f9a1107c22e7 (patch) | |
| tree | dd2fb0d12e56b3d69560b26a11ee0f0130ea0a5a /lib/tiny-printf.c | |
| parent | 45fe3809b9923b92f221d70eb45ae071059fd5e0 (diff) | |
| parent | 747440d0fa95f2205a8fcef49b6c7845700b6246 (diff) | |
Merge git://git.denx.de/u-boot-dm
Diffstat (limited to 'lib/tiny-printf.c')
| -rw-r--r-- | lib/tiny-printf.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/lib/tiny-printf.c b/lib/tiny-printf.c index 403b134cd1..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))); @@ -108,8 +116,10 @@ int vprintf(const char *fmt, va_list va) w--; while (w-- > 0) putc(lz ? '0' : ' '); - while ((ch = *p++)) - putc(ch); + if (p) { + while ((ch = *p++)) + putc(ch); + } } } |
