Re: [RFC PATCH 3/5] net/ipv4, net/ipv6: use %#p6, %p6 formatstrings

From: Harvey Harrison
Date: Tue Oct 28 2008 - 01:35:38 EST


On Mon, 2008-10-27 at 22:05 -0700, Joe Perches wrote:
> On Mon, 2008-10-27 at 21:05 -0700, Harvey Harrison wrote:
> > diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
> > index eea9542..113c4d9 100644
> > --- a/net/ipv6/addrconf.c
> > +++ b/net/ipv6/addrconf.c
> > @@ -2986,9 +2986,8 @@ static void if6_seq_stop(struct seq_file *seq, void *v)
> > static int if6_seq_show(struct seq_file *seq, void *v)
> > {
> > struct inet6_ifaddr *ifp = (struct inet6_ifaddr *)v;
> > - seq_printf(seq,
> > - NIP6_SEQFMT " %02x %02x %02x %02x %8s\n",
> > - NIP6(ifp->addr),
> > + seq_printf(seq, "%#p6 %02x %02x %02x %02x %8s\n",
> > + &ifp->addr,
> > ifp->idev->dev->ifindex,
> > ifp->prefix_len,
> > ifp->scope,
>
> Is it really necessary to change the formats and arguments?

Yes, in my patchset %p6 was a format for a pointer whereas NIP6()
expected a struct in6_addr, not a pointer to one. Unless you were
referring specifically to alignment of the args, whitespace?

>
> Perhaps it's enough to change the defines to:
>
> #define NIP6_FMT "%6p"

I thought about this, and it will work if the one place that passes
NIP6_FMT into sscanf gets changed at the same time. Otherwise,
doing it in-place is probably safer.

> If not, I think the NIP6 and NIP6_SEQFMT should be
> separate patchsets for ease of verification.
>

OK, will separate it that way once I've had a chance to test this
more.

Cheers,

Harvey

--
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/