Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 May 2002 18:40:02 +1000 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Dima Dorfman <dima@trit.org>
Cc:        Dag-Erling Smorgrav <des@ofug.org>, <audit@FreeBSD.ORG>
Subject:   Re: %j for printf(9) 
Message-ID:  <20020528182851.G19885-100000@gamplex.bde.org>
In-Reply-To: <20020528001227.E5D3E3E5E@turbine.trit.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 28 May 2002, Dima Dorfman wrote:

> Dag-Erling Smorgrav <des@ofug.org> wrote:
> > Dima Dorfman <dima@trit.org> 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 majordomo@FreeBSD.org
with "unsubscribe freebsd-audit" in the body of the message




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