Re: [PATCH] use %p for pointers

From: Al Viro
Date: Wed Oct 11 2006 - 10:55:05 EST


On Wed, Oct 11, 2006 at 01:16:56PM +0200, Jan Engelhardt wrote:
>
> >diff --git a/drivers/sbus/char/uctrl.c b/drivers/sbus/char/uctrl.c
> >index ddc0681..b30372f 100644
> >--- a/drivers/sbus/char/uctrl.c
> >+++ b/drivers/sbus/char/uctrl.c
> >@@ -400,7 +400,7 @@ static int __init ts102_uctrl_init(void)
> > }
> >
> > driver->regs->uctrl_intr = UCTRL_INTR_RXNE_REQ|UCTRL_INTR_RXNE_MSK;
> >- printk("uctrl: 0x%x (irq %d)\n", driver->regs, driver->irq);
> >+ printk("uctrl: 0x%p (irq %d)\n", driver->regs, driver->irq);
>
> So what's the difference, except that %p will evaluate to (nil) or
> (null) when the argument is 0 [this is the case with glibc]?
> That would print 0x(nil).

%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...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/