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>