mirror of
https://github.com/systemd/systemd.git
synced 2025-03-19 22:50:17 +03:00
sd-netlink: use structured initialization
The casts look somewhat ugly and type-unsafe, but they are equivalent to what was there before (we initialized a variable from a void*).
This commit is contained in:
parent
1d2e9c48e5
commit
64a65bab59
@ -32,7 +32,6 @@ static int genl_message_new(sd_netlink *nl, sd_genl_family_t family, uint16_t nl
|
||||
_cleanup_(sd_netlink_message_unrefp) sd_netlink_message *m = NULL;
|
||||
const NLType *genl_cmd_type, *nl_type;
|
||||
const NLTypeSystem *type_system;
|
||||
struct genlmsghdr *genl;
|
||||
size_t size;
|
||||
int r;
|
||||
|
||||
@ -63,9 +62,11 @@ static int genl_message_new(sd_netlink *nl, sd_genl_family_t family, uint16_t nl
|
||||
m->hdr->nlmsg_type = nlmsg_type;
|
||||
|
||||
type_get_type_system(nl_type, &m->containers[0].type_system);
|
||||
genl = NLMSG_DATA(m->hdr);
|
||||
genl->cmd = cmd;
|
||||
genl->version = genl_families[family].version;
|
||||
|
||||
*(struct genlmsghdr *) NLMSG_DATA(m->hdr) = (struct genlmsghdr) {
|
||||
.cmd = cmd,
|
||||
.version = genl_families[family].version,
|
||||
};
|
||||
|
||||
*ret = TAKE_PTR(m);
|
||||
|
||||
|
@ -19,7 +19,6 @@
|
||||
|
||||
static int nft_message_new(sd_netlink *nfnl, sd_netlink_message **ret, int family, uint16_t type, uint16_t flags) {
|
||||
_cleanup_(sd_netlink_message_unrefp) sd_netlink_message *m = NULL;
|
||||
struct nfgenmsg *nfh;
|
||||
const NLType *nl_type;
|
||||
size_t size;
|
||||
int r;
|
||||
@ -57,10 +56,11 @@ static int nft_message_new(sd_netlink *nfnl, sd_netlink_message **ret, int famil
|
||||
m->hdr->nlmsg_len = size;
|
||||
m->hdr->nlmsg_type = NFNL_SUBSYS_NFTABLES << 8 | type;
|
||||
|
||||
nfh = NLMSG_DATA(m->hdr);
|
||||
nfh->nfgen_family = family;
|
||||
nfh->version = NFNETLINK_V0;
|
||||
nfh->res_id = nfnl->serial;
|
||||
*(struct nfgenmsg*) NLMSG_DATA(m->hdr) = (struct nfgenmsg) {
|
||||
.nfgen_family = family,
|
||||
.version = NFNETLINK_V0,
|
||||
.res_id = nfnl->serial,
|
||||
};
|
||||
|
||||
*ret = TAKE_PTR(m);
|
||||
return 0;
|
||||
@ -68,17 +68,17 @@ static int nft_message_new(sd_netlink *nfnl, sd_netlink_message **ret, int famil
|
||||
|
||||
static int sd_nfnl_message_batch(sd_netlink *nfnl, sd_netlink_message **ret, int v) {
|
||||
_cleanup_(sd_netlink_message_unrefp) sd_netlink_message *m = NULL;
|
||||
struct nfgenmsg *nfh;
|
||||
int r;
|
||||
|
||||
r = message_new(nfnl, &m, v);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
nfh = NLMSG_DATA(m->hdr);
|
||||
nfh->nfgen_family = AF_UNSPEC;
|
||||
nfh->version = NFNETLINK_V0;
|
||||
nfh->res_id = NFNL_SUBSYS_NFTABLES;
|
||||
*(struct nfgenmsg*) NLMSG_DATA(m->hdr) = (struct nfgenmsg) {
|
||||
.nfgen_family = AF_UNSPEC,
|
||||
.version = NFNETLINK_V0,
|
||||
.res_id = NFNL_SUBSYS_NFTABLES,
|
||||
};
|
||||
|
||||
*ret = TAKE_PTR(m);
|
||||
return r;
|
||||
|
Loading…
x
Reference in New Issue
Block a user