From 3191d8408053674c1b9bb79a82e3973add48830c Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 8 Jun 2016 20:55:15 -0600 Subject: [PATCH] tiny-printf: Correct the snprintf() implementation 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: abeb272 ("tiny-printf: Support snprintf()") Reviewed-by: Stefan Roese Acked-by: Marek Vasut Signed-off-by: Simon Glass --- 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 5ea2555280..3c65fc90bf 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.25.1