how to kernel printf a int64_t?

Rick Macklem rmacklem at uoguelph.ca
Sun Nov 2 02:14:47 UTC 2014


Julian Elischer wrote:
> 
> On 10/31/14, 1:09 PM, Tim Kientzle wrote:
> 
> 
> On Oct 30, 2014, at 2:01 PM, Rick Macklem <rmacklem at uoguelph.ca>
> wrote:
> 
> Hi,
> 
> I feel kinda dumb asking this, but...
>       int64_t i;
> 
>       printf("%qd\n", (u_quad_t)i);
> 
> works but looks dorky, to put it technically;-).
> Is there a better way to printf() a int64_t in the kernel? I often
> use the following to print large integers:
> 
>     printf(“%jd\n”, (intmax_t)i); the "cannonical' way is to use
>     PRIu64 and friends, but some people seem to have a problem with
>     doing that.
> 
Ok, so now I need to ask another dumb question.
How do you do this in the kernel?
(I can see them defines in <machine/_inttypes.h>, but including that
 doesn't help, which isn't surprising since PRIu64 is in a string
 and won't be recognized as a macro.)

Oh, and is intmax_t going to be int64_t on all arches?

Thanks, rick

> 
> 
> Tim
> 
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To
> unsubscribe, send any mail to
> "freebsd-hackers-unsubscribe at freebsd.org"
> 


More information about the freebsd-hackers mailing list