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