Date: Mon, 7 Apr 2003 11:03:02 +1000 From: Tim Robbins <tjr@FreeBSD.ORG> To: src-committers@freebsd.org, cvs-src@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/lib/libc/stdio floatio.h vfprintf.c Message-ID: <20030407110302.A72014@dilbert.robbins.dropbear.id.au> In-Reply-To: <20030407004537.GA50755@HAL9000.homeunix.com>; from das@freebsd.org on Sun, Apr 06, 2003 at 05:45:37PM -0700 References: <200304052211.h35MBglG027473@repoman.freebsd.org> <20030406174843.A44495@dilbert.robbins.dropbear.id.au> <20030407004537.GA50755@HAL9000.homeunix.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Apr 06, 2003 at 05:45:37PM -0700, David Schultz wrote: > On Sun, Apr 06, 2003, Tim Robbins wrote: > > On Sat, Apr 05, 2003 at 02:11:42PM -0800, David Schultz wrote: > > > > > das 2003/04/05 14:11:42 PST > > > > > > FreeBSD src repository > > > > > > Modified files: > > > lib/libc/stdio floatio.h vfprintf.c > > > Log: > > > Rework the floating point code in printf(). Significant changes: > > > > > > - We used to round long double arguments to double. Now we print > > > them properly. > > > > > > - Bugs involving '%F', corner cases of '#' and 'g' format > > > specifiers, and the '.*' precision specifier have been > > > fixed. > > > > > > - Added support for the "'" specifier to print thousands' grouping > > > characters in a locale-dependent manner. > > > > > > - Implement the __vfprintf() side of hexadecimal floating point > > > support. All that is still needed is a routine to convert the > > > mantissa to hex digits one nibble at a time in the style of ultoa(). > > > > I think there is a bug here. I've attached a small test program that mimics > > the behaviour of top's "CPU states" display. Here are the results on 4.x: > [...] > > for (i = 0; i < 150; i += 10) > > printf(i >= 100 ? "CPU states: %4.0f%%\n" : > > "CPU states: %4.1f%% user\n", (double)i); > > Oops! I have just checked in a fix for the problem. It was a > little bit tricky due to the handling of thousands' grouping. > Thanks for pointing this out. Thanks. As soon as the p4 depot syncs with CVS again, I'll merge vfprintf.c 1.55 into vfwprintf.c and commit it. I had already merged 1.54, but decided not to commit it until it was fixed. Tim
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030407110302.A72014>