diff --git a/newlib/ChangeLog b/newlib/ChangeLog index 4f2800101..ee43302f0 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,8 @@ +2003-07-29 Honda Hiroki + + * libc/stdio/vfprintf.c: Set output size to 1 when + we have %f format with precision 0 and # flag not specified. + 2003-07-29 Alexandre Oliva * libc/machine/mn10300/setjmp.S: Never emit both .am33 and diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c index 82255735e..c10103d23 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c @@ -830,7 +830,9 @@ reswitch: switch (ch) { if (prec || flags & ALT) size += prec + 1; } else /* "0.X" */ - size = prec + 2; + size = (prec || flags & ALT) + ? prec + 2 + : 1; } else if (expt >= ndig) { /* fixed g fmt */ size = expt; if (flags & ALT)