Re: %j for printf(9)

Bruce Evans <[email protected]>
Newsgroups gmane.os.freebsd.devel.audit
Message-ID <[email protected]>
On Tue, 28 May 2002, Dima Dorfman wrote:

> Dag-Erling Smorgrav <[email protected]> wrote:
> > Dima Dorfman <[email protected]> writes:
> > > I would also like to solicit comments on what to do with %z; C99 says
> > > this is the length modifier for size_t, but the kernel treats it as
> > > signed hex.  This patch implements the C99 length modifier as %Z, but
> > > that probably shouldn't stay.  IIRC, I couldn't find any place in the
> > > kernel that we actually use %z; can it perhaps be removed?
> >
> > des@des ~% egrep -r '%[^\" dious]+z' /sec/freebsd/current/src/sys
> > /sec/freebsd/current/src/sys/ddb/db_examine.c:                          db_printf("%-*lz", width, (long)value);
> > /sec/freebsd/current/src/sys/ddb/db_examine.c:          db_printf("%8lz", (long)addr);
>
> As far as I can tell, these are just implementing %z for the examine
> command.  If we remove %z from printf(9), we can probably remove it
> from ddb examine, too.

I've already said to rename %z.  Its functionality can't be removed since
ddb depends on it.

ddb's %n has already been renamed to %r, but not completely removed.  This
together with -fformat-extensions not turning off non-extensions that aren't
in the kernel printf() causes bugs if %n is actually used.

Bruce


To Unsubscribe: send mail to [email protected]
with "unsubscribe freebsd-audit" in the body of the message
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.