cvs commit: src/sys/compat/linprocfs linprocfs.c

Alexander Leidinger netchild at FreeBSD.org
Sun Jan 21 12:12:45 UTC 2007


Quoting Warner Losh <imp at bsdimp.com> (Sat, 20 Jan 2007 15:50:02 -0700 (MST)):

> From: Scott Long <scottl at samsco.org>
> Subject: Re: cvs commit: src/sys/compat/linprocfs linprocfs.c
> Date: Sat, 20 Jan 2007 14:31:29 -0700
> 
> > Alexander Leidinger wrote:
> > > Quoting Sam Leffler <sam at errno.com> (Sat, 20 Jan 2007 12:05:04 -0800):
> > > 
> > >> Scott Long wrote:
> > >>> Alexander Leidinger wrote:
> > >>>> netchild    2007-01-20 19:32:23 UTC
> > >>>>
> > >>>>   FreeBSD src repository
> > >>>>
> > >>>>   Modified files:
> > >>>>     sys/compat/linprocfs linprocfs.c   Log:
> > >>>>   Fix tinderbox build on amd64.
> > >>>>     Revision  Changes    Path
> > >>>>   1.104     +2 -2      src/sys/compat/linprocfs/linprocfs.c
> > >>> Try the following instead:
> > > 
> > > I try tomorrow. Thanks!
> > > 
> > >>> --- linprocfs.c 20 Jan 2007 19:32:23 -0000      1.104
> > >>> +++ linprocfs.c 20 Jan 2007 19:46:29 -0000
> > >>> @@ -474,8 +474,8 @@
> > >>>                 state = 'R';
> > >>>
> > >>>                 if (ratelimit == 0) {
> > >>> -                       printf("linprocfs: don't know how to handle
> > >>> unknown FreeBSD state %d/%jd, mapping to R\n",
> > >>> -                           kp.ki_stat, (intmax_t)sizeof(linux_state));
> > >>> +                       printf("linprocfs: don't know how to handle
> > >>> unknown FreeBSD state %d/%zd, mapping to R\n",
> > >>> +                           kp.ki_stat, sizeof(linux_state));
> > >>>                         ++ratelimit;
> > >>>                 }
> > >>>         } else
> > >>>
> > >>>
> > >> Are the kernel prinf extensions documented anywhere (don't see 'em in
> > >> printf(9))?  I always forget and have to resort to the code...
> > > 
> > > In the reply to the tinderbox mail I asked if there are some docs which
> > > provide info which printf-identifier to use in which (common)
> > > situation. I think this would be very useful (and can be provided in
> > > the wiki if it doesn't fit into a man page).
> > > 
> > > Bye,
> > > Alexander.
> > > 
> > 
> > I use printf.3 for reference.  The kernel printf is only a subset, but
> > it implements enough for the userland docs to be useful.  For backup, I
> > recommend using bde@
> 
> printf.9 should list the exceptions, but other than floating point,
> there's not much.  The following table should be enlightening:
> 
>      o   An optional length modifier, that specifies the size of the argument.
>          The following length modifiers are valid for the d, i, n, o, u, x, or
>          X conversion:
> 
>          Modifier          d, i           o, u, x, X            n
>          hh                signed char    unsigned char         signed char *
>          h                 short          unsigned short        short *
>          l (ell)           long           unsigned long         long *
>          ll (ell ell)      long long      unsigned long long    long long *
>          j                 intmax_t       uintmax_t             intmax_t *
>          t                 ptrdiff_t      (see note)            ptrdiff_t *
>          z                 (see note)     size_t                (see note)
>          q (deprecated)    quad_t         u_quad_t              quad_t *

I was thinking more about something like:
      to print                         identifier to use in the kernel
      sizeof()                         %zd
      int64_t                          xyz
      int32_t                          klm
      ...                              ...

Bye,
Alexander.

-- 
      ...and that is how we know the Earth to be banana-shaped.
http://www.Leidinger.net  Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org     netchild @ FreeBSD.org  : PGP ID = 72077137


More information about the cvs-all mailing list