diff options
author | das <das@FreeBSD.org> | 2003-04-19 23:53:19 +0000 |
---|---|---|
committer | das <das@FreeBSD.org> | 2003-04-19 23:53:19 +0000 |
commit | 30c051657aa8331d42378a009a8371c2102a33eb (patch) | |
tree | 519d7da30b0d8498849fc8af728bb292a52e27a9 /lib/libc/stdio | |
parent | dc48d3db81e4e6fe22622e0d7918174a41a9e4e8 (diff) | |
download | FreeBSD-src-30c051657aa8331d42378a009a8371c2102a33eb.zip FreeBSD-src-30c051657aa8331d42378a009a8371c2102a33eb.tar.gz |
%E-like %g and %G conversions should remove trailing zeroes unless
the # flag is present. Implement this behavior and add a comment
describing it.
Noticed by: Enache Adrian <enache@rdslink.ro>
Pointy hat to: das
Diffstat (limited to 'lib/libc/stdio')
-rw-r--r-- | lib/libc/stdio/vfprintf.c | 7 | ||||
-rw-r--r-- | lib/libc/stdio/vfwprintf.c | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/libc/stdio/vfprintf.c b/lib/libc/stdio/vfprintf.c index 0f0cf52..6125db3 100644 --- a/lib/libc/stdio/vfprintf.c +++ b/lib/libc/stdio/vfprintf.c @@ -920,6 +920,13 @@ fp_begin: prec = ndig - expt; if (prec < 0) prec = 0; + } else { + /* + * Make %[gG] smell like %[eE], but + * trim trailing zeroes if no # flag. + */ + if (!(flags & ALT)) + prec = ndig; } } if (expchar) { diff --git a/lib/libc/stdio/vfwprintf.c b/lib/libc/stdio/vfwprintf.c index ee50d64..3c2392b 100644 --- a/lib/libc/stdio/vfwprintf.c +++ b/lib/libc/stdio/vfwprintf.c @@ -889,6 +889,13 @@ fp_begin: prec = ndig - expt; if (prec < 0) prec = 0; + } else { + /* + * Make %[gG] smell like %[eE], but + * trim trailing zeroes if no # flag. + */ + if (!(flags & ALT)) + prec = ndig; } } if (expchar) { |