Subject: Re: [IPV6]: ROUTE:read ifname in rt6_info_route()

From: Andreas Schwab <[email-masked]>
Date: Thu, 16 Apr 2009 18:47:04 +0200

Stephen Hemminger <[email-masked]> writes:

> On Thu, 16 Apr 2009 04:38:00 -0700 (PDT)
> David Miller <[email-masked]> wrote:
>
>> From: Yuta sugiura <[email-masked]>
>> Date: Thu, 16 Apr 2009 20:05:05 +0900
>> 
>> > Hi,
>> > I have a suggestion about /proc/net/IPv6_route format.
>> > In rt6_info_route(), interface name is treated as a maximum 8
>> > characters.
>> > But the type of (struct rt6_inf *)->u.dst.dev->name is char[IFNAMESIZ=
>> > 16]
>> > so, I think that it should change "%8s" to "%16s".
>> 
>> Isn't there a way to pass the field length as a paramenter
>> to formatting functions?  Then we can just pass in
>> IFNAMESIZE as that parameter.
>
> 	seq_printf(m, " %08x %08x %08x %08x %*s\n"
>                    rt->rt6i_metric, atomic_read(&rt->u.dst.__refcnt),
>  		   rt->u.dst.__use, rt->rt6i_flags,
>                    IFNAMESIZE, 
>  		   rt->rt6i_dev ? rt->rt6i_dev->name : "")

Actually since it is the last item on the line a field width does not
make much sense, and omitting it would print the name left justified.

(And RT6_INFO_LEN is not used any more.)

Andreas.

-- 
Andreas Schwab, [email-masked]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."