lib/vsprintf.c: implement printf() in terms of vprintf()

This saves some code, both in terms of #LOC and .text size, and it is
also the normal convention that foo(...) is implemented in terms of
vfoo().

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
This commit is contained in:
Rasmus Villemoes
2021-05-28 00:20:44 +02:00
committed by Tom Rini
parent 92f1e9a4b3
commit 9758778646

View File

@@ -787,22 +787,11 @@ int printf(const char *fmt, ...)
{
va_list args;
uint i;
char printbuffer[CONFIG_SYS_PBSIZE];
va_start(args, fmt);
/*
* For this to work, printbuffer must be larger than
* anything we ever want to print.
*/
i = vscnprintf(printbuffer, sizeof(printbuffer), fmt, args);
i = vprintf(fmt, args);
va_end(args);
/* Handle error */
if (i <= 0)
return i;
/* Print the string */
puts(printbuffer);
return i;
}