[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <17710.8478.278820.595718@gargle.gargle.HOWL>
Date: Thu, 12 Oct 2006 15:03:58 +0400
From: Nikita Danilov <nikita@...sterfs.com>
To: "H. Peter Anvin" <hpa@...or.com>
Cc: Jan Engelhardt <jengelh@...ux01.gwdg.de>, torvalds@...l.org,
linux-kernel@...r.kernel.org, Al Viro <viro@....linux.org.uk>
Subject: Re: [PATCH] use %p for pointers
H. Peter Anvin writes:
> Al Viro wrote:
> >
> > %p will do no such thing in the kernel. As for the difference... %x
> > might happen to work on some architectures (where sizeof(void *)==sizeof(int)),
> > but it's not portable _and_ not right. %p is proper C for that...
>
> It's really too bad gcc bitches about %#p, because that's arguably The
> Right Thing.
Hm...
man 3 printf:
p The void * pointer argument is printed in hexadeci-
mal (as if by %#x or %#lx).
so %p already has to output '0x', it's lib/vsprintf.c to blame for
non-conforming behavior. What about
Signed-off-by: Nikita Danilov <danilov@...il.com>
Index: git-linux/lib/vsprintf.c
===================================================================
--- git-linux.orig/lib/vsprintf.c
+++ git-linux/lib/vsprintf.c
@@ -408,7 +408,7 @@ int vsnprintf(char *buf, size_t size, co
}
str = number(str, end,
(unsigned long) va_arg(args, void *),
- 16, field_width, precision, flags);
+ 16, field_width, precision, flags|SPECIAL);
continue;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists