path: root/include
diff options
authorPablo Neira Ayuso <>2015-03-22 20:59:42 +0100
committerPablo Neira Ayuso <>2015-03-23 12:46:25 +0100
commit305b4707d134362c9229241b922c3b2286d3c150 (patch)
tree9e54e6faa05d5022f2fc294f9ec62eb0cb7ca0df /include
parent8b2d59dadb920ed45dd347e2962ef4cf216d0c57 (diff)
src: restore static array with expression operations
We cannot use __attribute__((constructor)) to register the supported expressions in runtime when the library is statically linked. This lead us to some explicit libnftnl_init() function that needs to be called from the main() function of the client program. This patch reverts 4dd0772 ("expr: use __attribute__((constructor)) to register expression"). Reported-by: Laurent Bercot <> Signed-off-by: Pablo Neira Ayuso <>
Diffstat (limited to 'include')
2 files changed, 0 insertions, 4 deletions
diff --git a/include/expr_ops.h b/include/expr_ops.h
index ea5defd..08cf57f 100644
--- a/include/expr_ops.h
+++ b/include/expr_ops.h
@@ -9,8 +9,6 @@ struct nlmsghdr;
struct nft_rule_expr;
struct expr_ops {
- struct list_head head;
const char *name;
uint32_t alloc_len;
int max_attr;
@@ -26,7 +24,6 @@ struct expr_ops {
struct nft_parse_err *err);
-void nft_expr_ops_register(struct expr_ops *ops);
struct expr_ops *nft_expr_ops_lookup(const char *name);
#define nft_expr_data(ops) (void *)ops->data
diff --git a/include/utils.h b/include/utils.h
index 1801108..380b020 100644
--- a/include/utils.h
+++ b/include/utils.h
@@ -15,7 +15,6 @@
-#define __init __attribute__((constructor))
#define __noreturn __attribute__((__noreturn__))
#define xfree(ptr) free((void *)ptr);