Thread (23 messages) flat view 23 messages, 5 authors, 2016-06-22

Re: [iproute PATCH v2 2/7] Use C99 style initializers everywhere

From: Jakub Sitnicki <hidden>
Date: 2016-06-22 09:41:35

On Wed, Jun 22, 2016 at 11:29 AM CEST, Phil Sutter [off-list ref] wrote:
On Wed, Jun 22, 2016 at 11:12:14AM +0200, Jakub Sitnicki wrote:
quoted
On Tue, Jun 21, 2016 at 06:18 PM CEST, Phil Sutter [off-list ref] wrote:
quoted
This big patch was compiled by vimgrepping for memset calls and changing
to C99 initializer if applicable. One notable exception is the
initialization of union bpf_attr in tc/tc_bpf.c: changing it would break
for older gcc versions (at least <=3.4.6).

Calls to memset for struct rtattr pointer fields for parse_rtattr*()
were just dropped since they are not needed.

The changes here allowed the compiler to discover some unused variables,
so get rid of them, too.

Signed-off-by: Phil Sutter <phil@nwl.cc>
---
[...]
quoted
diff --git a/bridge/fdb.c b/bridge/fdb.c
index be849f980a802..a59d6a9c13018 100644
--- a/bridge/fdb.c
+++ b/bridge/fdb.c
@@ -177,16 +177,15 @@ static int fdb_show(int argc, char **argv)
 		struct nlmsghdr	n;
 		struct ifinfomsg	ifm;
 		char			buf[256];
-	} req;
+	} req = {
+		.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifinfomsg)),
+		.ifm.ifi_family = PF_BRIDGE
+	};
 
A comma is allowed after a list of initializers (IOW, after the last
initializer). Having it would make for smaller/cleaner diffs in the
future if new structure members get added and need to be initialized.
Good point! I knew about that already, but that's good reasoning why one
would actually want to do that intentionally.
It also helps us all with the compulsive need for closure ;-)

Thanks,
Jakub
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help