]> git.ipfire.org Git - thirdparty/libnftnl.git/commitdiff
src: add nft_*_list_add_tail
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 16 Jul 2013 20:30:18 +0000 (22:30 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 16 Jul 2013 20:46:34 +0000 (22:46 +0200)
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>
include/libnftables/chain.h
include/libnftables/rule.h
include/libnftables/set.h
include/libnftables/table.h
src/chain.c
src/libnftables.map
src/rule.c
src/set.c
src/table.c

index 0eceda1dee961f10ce4d5b9f5adb23d411de665c..e20dbd11848aba62803b1c57480577ec14fa5063 100644 (file)
@@ -69,6 +69,7 @@ int nft_chain_list_is_empty(struct nft_chain_list *list);
 int nft_chain_list_foreach(struct nft_chain_list *chain_list, int (*cb)(struct nft_chain *t, void *data), void *data);
 
 void nft_chain_list_add(struct nft_chain *r, struct nft_chain_list *list);
+void nft_chain_list_add_tail(struct nft_chain *r, struct nft_chain_list *list);
 void nft_chain_list_del(struct nft_chain *r);
 
 struct nft_chain_list_iter;
index cadd14d5419aef8a3758cfb62a90cc5e0227743e..ea136ff5508278d87f11a51ad5f349e9cc95fbbc 100644 (file)
@@ -75,6 +75,7 @@ struct nft_rule_list *nft_rule_list_alloc(void);
 void nft_rule_list_free(struct nft_rule_list *list);
 int nft_rule_list_is_empty(struct nft_rule_list *list);
 void nft_rule_list_add(struct nft_rule *r, struct nft_rule_list *list);
+void nft_rule_list_add_tail(struct nft_rule *r, struct nft_rule_list *list);
 int nft_rule_list_foreach(struct nft_rule_list *rule_list, int (*cb)(struct nft_rule *t, void *data), void *data);
 
 struct nft_rule_list_iter;
index 4a94a859f12c68bd3188564442bcad353906a32b..971f967bc5b9e44d33640518f60529c6d45ab53b 100644 (file)
@@ -43,6 +43,7 @@ struct nft_set_list *nft_set_list_alloc(void);
 void nft_set_list_free(struct nft_set_list *list);
 int nft_set_list_is_empty(struct nft_set_list *list);
 void nft_set_list_add(struct nft_set *s, struct nft_set_list *list);
+void nft_set_list_add_tail(struct nft_set *s, struct nft_set_list *list);
 int nft_set_list_foreach(struct nft_set_list *set_list, int (*cb)(struct nft_set *t, void *data), void *data);
 
 struct nft_set_list_iter;
index 4fc19eba6020172b91ffa15062ce52ed0b82f586..57ddb2e1db56f8abb3197670ae90294dae3c5050 100644 (file)
@@ -57,6 +57,7 @@ int nft_table_list_is_empty(struct nft_table_list *list);
 int nft_table_list_foreach(struct nft_table_list *table_list, int (*cb)(struct nft_table *t, void *data), void *data);
 
 void nft_table_list_add(struct nft_table *r, struct nft_table_list *list);
+void nft_table_list_add_tail(struct nft_table *r, struct nft_table_list *list);
 
 struct nft_table_list_iter;
 
index b59c5e09df53a27ca1785aad40b99312e26a9ef6..0a0e688ad7debdaf9e2127e38d98594e6533dba0 100644 (file)
@@ -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);
index a60b943b86b1cc6662f41f7953fe1300d3d72acb..f2084d9d9e138c8d6172688aa4d34faaf73a5644 100644 (file)
@@ -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;
 
index aa7aee85cc77e91256103a7c6960d9b36a78c5a6..df9d739cb3c861f18b40c7d7c26efa6dd0a88d47 100644 (file)
@@ -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)
index 2616cae8fb653d08571b7c5d5cf16248b53241ba..1ccfd2335cc11e7ab66ac60e7068caf131eec0ae 100644 (file)
--- 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)
 {
index 9ec4117bff307d4c52073d53a08a3536990bfbad..bdab178c868ec9fd40dd2da8349e70a8b69fb767 100644 (file)
@@ -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)