Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 09 Oct 2002 10:31:06 -0700
From:      Peter Wemm <peter@wemm.org>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        Mike Barcroft <mike@FreeBSD.ORG>, Andrew Gallatin <gallatin@cs.duke.edu>, freebsd-arch@FreeBSD.ORG
Subject:   Re: lp64 vs lp32 printf 
Message-ID:  <20021009173106.9D1862A88D@canning.wemm.org>
In-Reply-To: <20021009161756.E4040-100000@gamplex.bde.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans wrote:
> On Tue, 8 Oct 2002, Mike Barcroft wrote:
> 
> > Andrew Gallatin <gallatin@cs.duke.edu> writes:
> > >
> > > What's the accepted way to printf something (like sizeof()) which
> > > boils down to "unsigned int" on x86 and "unsigned long" on the LP64
> > > platforms?
> >
> > In userland you can use %z for printing size_t's.  In the kernel,
> > casting to intmax_t/uintmax_t and using %j is correct.
> 
> Um, using intmax_t to print size_t's would be incorrect, since it is
> signed.  Using uintmax_t would be bloat.  Very few typedefed types
> need the full bloat of [u]intmax_t, and size_t is unlikely to become
> one of them before casting it to uintmax_t to print it becomes a style
> bug in the kernel too (when %z is implemented).

Bring it on!  The sooner %z gets here the better.  The only problem is that
gcc has been taught that %z means something different in the kernel. :-(

Cheers,
-Peter
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021009173106.9D1862A88D>