Re: [iproute PATCH v2 2/7] Use C99 style initializers everywhere
From: Jakub Sitnicki <hidden>
Date: 2016-06-22 09:12:32
Hi Phil, On Tue, Jun 21, 2016 at 06:18 PM CEST, Phil Sutter [off-list ref] wrote:
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 hunk ↗ jump to hunk
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. Thanks, Jakub