Re: [PATCH] use %p for pointers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <[email protected]>

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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux