From 1f2a0cdf581815ce88168a56079eba4a3e149770 Mon Sep 17 00:00:00 2001 From: David Schultz Date: Sat, 19 Apr 2003 23:53:19 +0000 Subject: %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 Pointy hat to: das --- lib/libc/stdio/vfprintf.c | 7 +++++++ lib/libc/stdio/vfwprintf.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/lib/libc/stdio/vfprintf.c b/lib/libc/stdio/vfprintf.c index 0f0cf5291f35..6125db3db8cc 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 ee50d6408447..3c2392bd0801 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) { -- cgit v1.2.3