diff --git a/newlib/ChangeLog b/newlib/ChangeLog index f81f154a9..05e9a0092 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,9 @@ +2005-10-11 David Weatherford + + * libc/stdio/vfprintf.c (_VFPRINTF_R): Recognize 'F' format. + Print "inf" and "nan" in lowercase for e/f/g formats and in + uppercase for E/F/G formats. + 2005-10-07 Bob Wilson * libc/stdlib/mallocr.c (mALLOc, rEALLOCc, mEMALIGn): Set errno diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c index c51b6b821..1c887d5aa 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c @@ -800,6 +800,7 @@ reswitch: switch (ch) { case 'e': case 'E': case 'f': + case 'F': case 'g': case 'G': if (prec == -1) { @@ -819,12 +820,18 @@ reswitch: switch (ch) { if (isinf (_fpvalue)) { if (_fpvalue < 0) sign = '-'; - cp = "Inf"; + if (ch == 'E' || ch == 'F' || ch == 'G') + cp = "INF"; + else + cp = "inf"; size = 3; break; } if (isnan (_fpvalue)) { - cp = "NaN"; + if (ch == 'E' || ch == 'F' || ch == 'G') + cp = "NAN"; + else + cp = "nan"; size = 3; break; }