On Fri, Nov 13, 2015 at 05:30:10PM +0000, David Laight wrote:
> From: Phil Sutter
> > Sent: 13 November 2015 17:09
> > In iptunnel, declare loop variables inside the loop as done in
> > ip6tunnel.
> ...
> > @@ -396,14 +396,8 @@ static void print_tunnel(struct ip_tunnel_parm *p)
> > 
> >  static int do_tunnels_list(struct ip_tunnel_parm *p)
> >  {
> > -   char name[IFNAMSIZ];
> > -   unsigned long  rx_bytes, rx_packets, rx_errs, rx_drops,
> > -   rx_fifo, rx_frame,
> > -   tx_bytes, tx_packets, tx_errs, tx_drops,
> > -   tx_fifo, tx_colls, tx_carrier, rx_multi;
> > -   struct ip_tunnel_parm p1;
> > -
> ...
> >     while (fgets(buf, sizeof(buf), fp) != NULL) {
> > +           char name[IFNAMSIZ];
> >             int index, type;
> > +           unsigned long rx_bytes, rx_packets, rx_errs, rx_drops,
> > +                   rx_fifo, rx_frame,
> > +                   tx_bytes, tx_packets, tx_errs, tx_drops,
> > +                   tx_fifo, tx_colls, tx_carrier, rx_multi;
> > +           struct ip_tunnel_parm p1;
> >             char *ptr;
> > +
> 
> Personally I find that just makes it harder to find where the
> variables are defined.

Well, the above aligns the code with ip/ip6tunnel.c in that particular
matter. I'm neither a friend of the old nor the new version, so if
everyone thinks it is better without this patch, I'm fine with changing
ip/ip6tunnel.c accordingly as well.

Looking at the code again, maybe the better option overall would be to
export the whole file reading and stats printing code into a shared
function.

> Since the linux kernel cannot be compiled with -Wshadow declaring
> variables in inner scopes can easily lead to very strange bugs.

Well, since this is not kernel code but iproute2 one, we *could* compile
it with -Wshadow.

Thanks, Phil
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to