These functions were never exported and are not used internally anymore.
Maybe due to that, they became incorrect (e.g., they ignore expr_list)
so drop them altogether.
Fixes: 80077787f8f21 ("src: remove json support")
Signed-off-by: Phil Sutter <phil@nwl.cc>
Acked-by: Florian Westphal <fw@strlen.de>
struct nftnl_set *nftnl_set_alloc(void);
void nftnl_set_free(const struct nftnl_set *s);
-struct nftnl_set *nftnl_set_clone(const struct nftnl_set *set);
-
bool nftnl_set_is_set(const struct nftnl_set *s, uint16_t attr);
void nftnl_set_unset(struct nftnl_set *s, uint16_t attr);
int nftnl_set_set(struct nftnl_set *s, uint16_t attr, const void *data) __attribute__((deprecated));
struct nftnl_set_elem *nftnl_set_elem_alloc(void);
void nftnl_set_elem_free(struct nftnl_set_elem *s);
-struct nftnl_set_elem *nftnl_set_elem_clone(struct nftnl_set_elem *elem);
-
void nftnl_set_elem_add(struct nftnl_set *s, struct nftnl_set_elem *elem);
void nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr);
return val ? *val : 0;
}
-struct nftnl_set *nftnl_set_clone(const struct nftnl_set *set)
-{
- struct nftnl_set *newset;
- struct nftnl_set_elem *elem, *newelem;
-
- newset = nftnl_set_alloc();
- if (newset == NULL)
- return NULL;
-
- memcpy(newset, set, sizeof(*set));
-
- if (set->flags & (1 << NFTNL_SET_TABLE)) {
- newset->table = strdup(set->table);
- if (!newset->table)
- goto err;
- }
- if (set->flags & (1 << NFTNL_SET_NAME)) {
- newset->name = strdup(set->name);
- if (!newset->name)
- goto err;
- }
-
- INIT_LIST_HEAD(&newset->element_list);
- list_for_each_entry(elem, &set->element_list, head) {
- newelem = nftnl_set_elem_clone(elem);
- if (newelem == NULL)
- goto err;
-
- list_add_tail(&newelem->head, &newset->element_list);
- }
-
- newset->type = NULL;
-
- return newset;
-err:
- nftnl_set_free(newset);
- return NULL;
-}
-
static void nftnl_set_nlmsg_build_desc_size_payload(struct nlmsghdr *nlh,
struct nftnl_set *s)
{
return val;
}
-struct nftnl_set_elem *nftnl_set_elem_clone(struct nftnl_set_elem *elem)
-{
- struct nftnl_set_elem *newelem;
-
- newelem = nftnl_set_elem_alloc();
- if (newelem == NULL)
- return NULL;
-
- memcpy(newelem, elem, sizeof(*elem));
-
- if (elem->flags & (1 << NFTNL_SET_ELEM_CHAIN)) {
- newelem->data.chain = strdup(elem->data.chain);
- if (!newelem->data.chain)
- goto err;
- }
-
- return newelem;
-err:
- nftnl_set_elem_free(newelem);
- return NULL;
-}
-
EXPORT_SYMBOL(nftnl_set_elem_nlmsg_build_payload);
void nftnl_set_elem_nlmsg_build_payload(struct nlmsghdr *nlh,
struct nftnl_set_elem *e)