summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-07-16 22:30:18 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-07-16 22:46:34 +0200
commitd5cb5967adab0dd4d52b62bc62b8b59dbb5a6056 (patch)
tree2c8fc8e32cbffa12ff182f8b42ce71027ca61798 /src
parent74ccff7386b8577f559fa4158668490a0f48ac70 (diff)
src: add nft_*_list_add_tail
This redefines the meaning of nft_*_list_add to prepend, before this patch it was appending, which was semantically wrong. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r--src/chain.c8
-rw-r--r--src/libnftables.map4
-rw-r--r--src/rule.c8
-rw-r--r--src/set.c8
-rw-r--r--src/table.c8
5 files changed, 32 insertions, 4 deletions
diff --git a/src/chain.c b/src/chain.c
index b59c5e0..0a0e688 100644
--- a/src/chain.c
+++ b/src/chain.c
@@ -884,10 +884,16 @@ EXPORT_SYMBOL(nft_chain_list_is_empty);
void nft_chain_list_add(struct nft_chain *r, struct nft_chain_list *list)
{
- list_add_tail(&r->head, &list->list);
+ list_add(&r->head, &list->list);
}
EXPORT_SYMBOL(nft_chain_list_add);
+void nft_chain_list_add_tail(struct nft_chain *r, struct nft_chain_list *list)
+{
+ list_add_tail(&r->head, &list->list);
+}
+EXPORT_SYMBOL(nft_chain_list_add_tail);
+
void nft_chain_list_del(struct nft_chain *r)
{
list_del(&r->head);
diff --git a/src/libnftables.map b/src/libnftables.map
index a60b943..f2084d9 100644
--- a/src/libnftables.map
+++ b/src/libnftables.map
@@ -20,6 +20,7 @@ global:
nft_table_list_is_empty;
nft_table_list_foreach;
nft_table_list_add;
+ nft_table_list_add_tail;
nft_table_list_iter_create;
nft_table_list_iter_next;
nft_table_list_iter_destroy;
@@ -47,6 +48,7 @@ global:
nft_chain_list_free;
nft_chain_list_is_empty;
nft_chain_list_add;
+ nft_chain_list_add_tail;
nft_chain_list_del;
nft_chain_list_foreach;
nft_chain_list_iter_create;
@@ -98,6 +100,7 @@ global:
nft_rule_list_free;
nft_rule_list_is_empty;
nft_rule_list_add;
+ nft_rule_list_add_tail;
nft_rule_list_foreach;
nft_rule_list_iter_create;
nft_rule_list_iter_cur;
@@ -122,6 +125,7 @@ global:
nft_set_list_alloc;
nft_set_list_free;
nft_set_list_add;
+ nft_set_list_add_tail;
nft_set_list_is_empty;
nft_set_list_foreach;
diff --git a/src/rule.c b/src/rule.c
index aa7aee8..df9d739 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -875,10 +875,16 @@ EXPORT_SYMBOL(nft_rule_list_is_empty);
void nft_rule_list_add(struct nft_rule *r, struct nft_rule_list *list)
{
- list_add_tail(&r->head, &list->list);
+ list_add(&r->head, &list->list);
}
EXPORT_SYMBOL(nft_rule_list_add);
+void nft_rule_list_add_tail(struct nft_rule *r, struct nft_rule_list *list)
+{
+ list_add_tail(&r->head, &list->list);
+}
+EXPORT_SYMBOL(nft_rule_list_add_tail);
+
int nft_rule_list_foreach(struct nft_rule_list *rule_list,
int (*cb)(struct nft_rule *r, void *data),
void *data)
diff --git a/src/set.c b/src/set.c
index 2616cae..1ccfd23 100644
--- a/src/set.c
+++ b/src/set.c
@@ -492,10 +492,16 @@ EXPORT_SYMBOL(nft_set_list_is_empty);
void nft_set_list_add(struct nft_set *s, struct nft_set_list *list)
{
- list_add_tail(&s->head, &list->list);
+ list_add(&s->head, &list->list);
}
EXPORT_SYMBOL(nft_set_list_add);
+void nft_set_list_add_tail(struct nft_set *s, struct nft_set_list *list)
+{
+ list_add_tail(&s->head, &list->list);
+}
+EXPORT_SYMBOL(nft_set_list_add_tail);
+
int nft_set_list_foreach(struct nft_set_list *set_list,
int (*cb)(struct nft_set *t, void *data), void *data)
{
diff --git a/src/table.c b/src/table.c
index 9ec4117..bdab178 100644
--- a/src/table.c
+++ b/src/table.c
@@ -418,10 +418,16 @@ EXPORT_SYMBOL(nft_table_list_is_empty);
void nft_table_list_add(struct nft_table *r, struct nft_table_list *list)
{
- list_add_tail(&r->head, &list->list);
+ list_add(&r->head, &list->list);
}
EXPORT_SYMBOL(nft_table_list_add);
+void nft_table_list_add_tail(struct nft_table *r, struct nft_table_list *list)
+{
+ list_add_tail(&r->head, &list->list);
+}
+EXPORT_SYMBOL(nft_table_list_add_tail);
+
int nft_table_list_foreach(struct nft_table_list *table_list,
int (*cb)(struct nft_table *t, void *data),
void *data)