diff options
author | Phil Sutter <phil@nwl.cc> | 2024-10-02 16:44:49 +0200 |
---|---|---|
committer | Phil Sutter <phil@nwl.cc> | 2025-10-18 21:11:27 +0200 |
commit | 5a54b99859fd52d8c7e866b57f6d8fac3e20a78f (patch) | |
tree | 6f4638c243b241886fdd0bb8916f074bcd0d12ad /include | |
parent | 6f24a13a19b8690444564f50e1866fae5abf7687 (diff) |
Wrap the common parsing of string attributes in a function. Apart from
slightly reducing code size, this unifies callers in conditional freeing
of the field in case it was set before (missing in twelve spots) and
error checking for failing strdup()-calls (missing in four spots).
Signed-off-by: Phil Sutter <phil@nwl.cc>
Acked-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/utils.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/utils.h b/include/utils.h index 5a3379f..1049289 100644 --- a/include/utils.h +++ b/include/utils.h @@ -88,4 +88,7 @@ struct nlattr; void nftnl_attr_put_ifname(struct nlmsghdr *nlh, const char *ifname); char *nftnl_attr_get_ifname(const struct nlattr *attr); +int nftnl_parse_str_attr(const struct nlattr *tb, int attr, + const char **field, uint32_t *flags); + #endif |