summaryrefslogtreecommitdiffstats
path: root/newlib/libc/stdio
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2003-07-29 20:45:11 +0000
committerJeff Johnston <jjohnstn@redhat.com>2003-07-29 20:45:11 +0000
commit42de5592999686f239f67ce8c785c55f84537187 (patch)
tree29930d57d7e27cce52fd4f781909d4c6ef28417a /newlib/libc/stdio
parente4bf124e034201f5668de37f6c6137af283a0a2a (diff)
downloadcygnal-42de5592999686f239f67ce8c785c55f84537187.tar.gz
cygnal-42de5592999686f239f67ce8c785c55f84537187.tar.bz2
cygnal-42de5592999686f239f67ce8c785c55f84537187.zip
2003-07-29 Honda Hiroki <hhonda@ipflex.com>
* libc/stdio/vfprintf.c: Set output size to 1 when we have %f format with precision 0 and # flag not specified.
Diffstat (limited to 'newlib/libc/stdio')
-rw-r--r--newlib/libc/stdio/vfprintf.c4
1 files changed, 3 insertions, 1 deletions
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)