diff options
author | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2015-12-04 23:27:37 +0100 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-12-13 17:07:30 -0700 |
commit | 962a43cc9628fcfc048c563e0fd295b8743e0504 (patch) | |
tree | 1727598ade0dac6e0793a43a71e517ea2ec3e0fd /lib | |
parent | 4363de63a88f3e9490cb46ce4c92e7c2d2497ba8 (diff) |
lib/tiny-printf.c: Implement vprintf
Implement both printf and vprintf for a bit more flexibility, e.g.
allows the panic() function to work with tiny-printf.
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/tiny-printf.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/lib/tiny-printf.c b/lib/tiny-printf.c index 6766a8f1c8b..403b134cd11 100644 --- a/lib/tiny-printf.c +++ b/lib/tiny-printf.c @@ -40,17 +40,14 @@ static void div_out(unsigned int *num, unsigned int div) out_dgt(dgt); } -int printf(const char *fmt, ...) +int vprintf(const char *fmt, va_list va) { - va_list va; char ch; char *p; unsigned int num; char buf[12]; unsigned int div; - va_start(va, fmt); - while ((ch = *(fmt++))) { if (ch != '%') { putc(ch); @@ -117,6 +114,17 @@ int printf(const char *fmt, ...) } abort: - va_end(va); return 0; } + +int printf(const char *fmt, ...) +{ + va_list va; + int ret; + + va_start(va, fmt); + ret = vprintf(fmt, va); + va_end(va); + + return ret; +} |