[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160622130857.GC15980@orbyte.nwl.cc>
Date: Wed, 22 Jun 2016 15:08:57 +0200
From: Phil Sutter <phil@....cc>
To: David Laight <David.Laight@...LAB.COM>
Cc: 'Jakub Sitnicki' <jkbs@...hat.com>,
Stephen Hemminger <shemming@...cade.com>,
Daniel Borkmann <daniel@...earbox.net>,
David Ahern <dsa@...ulusnetworks.com>,
Nicolas Dichtel <nicolas.dichtel@...nd.com>,
Julien Floret <julien.floret@...nd.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [iproute PATCH v2 7/7] ip/tcp_metrics: Simplify process_msg a bit
Hi David,
On Wed, Jun 22, 2016 at 01:00:08PM +0000, David Laight wrote:
> From: Jakub Sitnicki
> > Sent: 22 June 2016 12:34
> ...
> > > - a = attrs[TCP_METRICS_ATTR_ADDR_IPV4];
> > > - if (a) {
> > > + if ((a = attrs[TCP_METRICS_ATTR_ADDR_IPV4])) {
> >
> > Copy the pointer inside the branch?
> >
> > Same gain on indentation while keeping checkpatch happy.
>
> Or as below (hacked from the mails):
>
> a = attrs[TCP_METRICS_ATTR_ADDR_IPV4];
> if (a) {
> if (f.daddr.family && f.daddr.family != AF_INET)
> return 0;
> memcpy(&daddr.data, RTA_DATA(a), 4);
> daddr.bytelen = 4;
> family = AF_INET;
> atype = TCP_METRICS_ATTR_ADDR_IPV4;
> dlen = RTA_PAYLOAD(a);
> } else {
> a = attrs[TCP_METRICS_ATTR_ADDR_IPV6];
> if (!a)
> return 0;
> memcpy(&daddr.data, RTA_DATA(a), 16);
> daddr.bytelen = 16;
> family = AF_INET6;
> atype = TCP_METRICS_ATTR_ADDR_IPV6;
> dlen = RTA_PAYLOAD(a);
> }
Yes, this should work as well and require less code changes overall.
Though I think it's less readable:
| if (a) {
| do a;
| else {
| if (!b)
| return;
| do b;
| }
vs.
| if (a) {
| do a;
| } else if (b) {
| do b;
| } else {
| return;
| }
Don't you think?
Thanks, Phil
Powered by blists - more mailing lists