Date: Thu, 11 Mar 1999 20:47:48 +0000 (GMT) From: Doug Rabson <dfr@nlsystems.com> To: Bruce Evans <bde@zeta.org.au> Cc: current@freebsd.org Subject: Re: Proposed change to printf Message-ID: <Pine.BSF.4.05.9903112046340.27198-100000@herring.nlsystems.com> In-Reply-To: <199903111116.WAA12554@godzilla.zeta.org.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 11 Mar 1999, Bruce Evans wrote: > >I want to make this change to printf so that it treats format codes like > >'%llx' as 64bit formats (i.e. the same as '%qx'). This convention is the > >same as that used by glibc. > > %llx is actually for unsigned long longs, and %qx is actually for > u_quad_t's. These types are different for FreeBSD on alphas. Printing > quad_t's using %llx should cause warnings from gcc -Wformat on alphas, > but printing them using %qx should work. I think gcc -Wformat doesn't > actually understand %q formats, so printing quad_t's using %qx gives > bogus warnings on alphas. > > However, %llx is more standard. It is in the C9x draft. %qx should go > away. Ok. > > >Index: vfprintf.c > >=================================================================== > >RCS file: /home/ncvs/src/lib/libc/stdio/vfprintf.c,v > >retrieving revision 1.20 > >diff -u -r1.20 vfprintf.c > >--- vfprintf.c 1998/09/16 04:17:44 1.20 > >+++ vfprintf.c 1999/02/20 10:20:08 > >@@ -545,7 +545,10 @@ > > flags |= SHORTINT; > > goto rflag; > > case 'l': > >- flags |= LONGINT; > >+ if (flags & LONGINT) > >+ flags |= QUADINT; > >+ else > >+ flags |= LONGINT; > > goto rflag; > > case 'q': > > flags |= QUADINT; > >@@ -1016,7 +1019,10 @@ > > flags |= SHORTINT; > > goto rflag; > > case 'l': > >- flags |= LONGINT; > >+ if (flags & LONGINT) > >+ flags |= QUADINT; > >+ else > >+ flags |= LONGINT; > > goto rflag; > > case 'q': > > flags |= QUADINT; > > This assumes that long longs have the same representation as quad_t's. > I suppose not doing a global change from quad_t to long long is best, > because the change should actually be to C9x's intmax_t to support C9x's > %m formats. So is the patch correct enough to commit then? -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 442 9037 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9903112046340.27198-100000>