[U-Boot] [PATCH] tiny-printf: Correct the snprintf() implementation
Simon Glass
sjg at chromium.org
Thu Jun 9 04:46:03 CEST 2016
This current code passes the variable arguments list to sprintf(). This is
not correct. Fix it by calling _vprintf() directly.
This makes firefly-rk3288 boot again.
Fixes: 5c411d8 tiny-printf: Support snprintf()
Signed-off-by: Simon Glass <sjg at chromium.org>
---
lib/tiny-printf.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/tiny-printf.c b/lib/tiny-printf.c
index 5ea2555..3c65fc9 100644
--- a/lib/tiny-printf.c
+++ b/lib/tiny-printf.c
@@ -168,8 +168,10 @@ int snprintf(char *buf, size_t size, const char *fmt, ...)
int ret;
va_start(va, fmt);
- ret = sprintf(buf, fmt, va);
+ outstr = buf;
+ ret = _vprintf(fmt, va, putc_outstr);
va_end(va);
+ *outstr = '\0';
return ret;
}
--
2.8.0.rc3.226.g39d4020
More information about the U-Boot
mailing list