@@ -398,10 +398,9 @@ static int tc_action_gd(int cmd, unsigned int flags, int *argc_p, char ***argv_p
.n = {
.nlmsg_len = NLMSG_LENGTH(sizeof(struct tcamsg)),
.nlmsg_flags = NLM_F_REQUEST | flags,
- .nlmsg_type = cmd,
+ .nlmsg_type = cmd
},
- .t.tca_family = AF_UNSPEC,
- .buf = { 0 }
+ .t.tca_family = AF_UNSPEC
};
argc -= 1;
@@ -491,8 +490,6 @@ static int tc_action_modify(int cmd, unsigned int flags, int *argc_p, char ***ar
int argc = *argc_p;
char **argv = *argv_p;
int ret = 0;
-
- struct rtattr *tail;
struct {
struct nlmsghdr n;
struct tcamsg t;
@@ -501,13 +498,12 @@ static int tc_action_modify(int cmd, unsigned int flags, int *argc_p, char ***ar
.n = {
.nlmsg_len = NLMSG_LENGTH(sizeof(struct tcamsg)),
.nlmsg_flags = NLM_F_REQUEST | flags,
- .nlmsg_type = cmd,
+ .nlmsg_type = cmd
},
- .t.tca_family = AF_UNSPEC,
- .buf = { 0 }
+ .t.tca_family = AF_UNSPEC
};
+ struct rtattr *tail = NLMSG_TAIL(&req.n);
- tail = NLMSG_TAIL(&req.n);
argc -= 1;
argv += 1;
if (parse_action(&argc, &argv, TCA_ACT_TAB, &req.n)) {
@@ -539,8 +535,7 @@ static int tc_act_list_or_flush(int argc, char **argv, int event)
char buf[MAX_MSG];
} req = {
.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct tcamsg)),
- .t.tca_family = AF_UNSPEC,
- .buf = { 0 }
+ .t.tca_family = AF_UNSPEC
};
tail = NLMSG_TAIL(&req.n);
This improves my initial change in the following points: - Drop superfluous comma after last expression in block. - No need to initialize variables to zero as the key feature of C99 initializers is to do this implicitly. - By relocating the declaration of struct rtattr *tail, it can be initialized at the same time. Fixes: a0a73b298a579 ("tc: m_action: Use C99 style initializers for struct req") Signed-off-by: Phil Sutter <phil@nwl.cc> --- tc/m_action.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-)