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

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

From: Phil Sutter <phil@nwl.cc>
Date: 2016-06-22 09:30:00

Hi Jakub,

On Wed, Jun 22, 2016 at 11:12:14AM +0200, Jakub Sitnicki wrote:
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.

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