lkml.org 
[lkml]   [2006]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
SubjectRe: [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@gmail.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@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-10-12 13:07    [W:0.095 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site