From 21a282a2a427cb33d12d1d31ae8aee14d9bbb8c3 Mon Sep 17 00:00:00 2001 From: Marco Paland Date: Fri, 14 Sep 2018 15:02:57 +0200 Subject: fix(printf): ignore 0 flag for integers if precision is specified Fixes #27 --- printf.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'printf.c') diff --git a/printf.c b/printf.c index 9ef669f..a7a3d68 100644 --- a/printf.c +++ b/printf.c @@ -551,6 +551,11 @@ static int _vsnprintf(out_fct_type out, char* buffer, const size_t maxlen, const flags &= ~(FLAGS_PLUS | FLAGS_SPACE); } + // ignore '0' flag when precision is given + if (flags & FLAGS_PRECISION) { + flags &= ~FLAGS_ZEROPAD; + } + // convert the integer if ((*format == 'i') || (*format == 'd')) { // signed -- cgit v1.2.3