2004-12-28 Joerg Wunsch * libc/stdio/vfprintf.c: Fix zero-padding when precision is given (savannah bug #9345) Index: libc/stdio/vfprintf.c =================================================================== RCS file: /cvsroot/avr-libc/avr-libc/libc/stdio/vfprintf.c,v retrieving revision 1.10 diff -u -u -r1.10 vfprintf.c --- libc/stdio/vfprintf.c 28 Dec 2004 07:01:34 -0000 1.10 +++ libc/stdio/vfprintf.c 28 Dec 2004 19:23:40 -0000 @@ -149,7 +149,8 @@ if (flags & FLHASPERCENT) { if (c >= '0' && c <= '9') { #if PRINTF_LEVEL > PRINTF_MIN - if (c == '0' && prec == 0 && width == 0) { + if (c == '0' && prec == 0 && + (flags & FLPREC) == 0) { flags |= FLZFILL; } else { /* digit */ @@ -312,7 +313,6 @@ case '.': #if PRINTF_LEVEL > PRINTF_MIN flags |= FLPREC; - flags &= ~FLZFILL; prec = 0; #endif /* PRINTF_LEVEL > PRINTF_MIN */ break;