From b5cc93bfc039462a818d00d898c5811d6cabd7cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?King=20K=C3=A9vin?= Date: Sat, 6 May 2017 16:22:25 +0200 Subject: [PATCH] print: improve padding --- lib/print.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/print.c b/lib/print.c index e32d0c3..00086c5 100644 --- a/lib/print.c +++ b/lib/print.c @@ -241,16 +241,15 @@ static size_t vsnprintf(char** str, size_t* size, const char *format, va_list va // check padding if ('0'==*format) { // padding required format++; // go to padding number + padding = 0; + while (*format>='0' && *format<='9') { + padding *= 10; // shift padding digit + padding += *format-'0'; // get next padding digit + format++; // go to next character + } if (0==*format) { // end of string detected goto end; } - if (*format>='0' && *format<='9') { - padding = *format-'0'; - format++; // go to format specifier - if (0==*format) { // end of string detected - goto end; - } - } } // check format specifier switch (*format) {