]> git.ipfire.org Git - thirdparty/libnftnl.git/commitdiff
src: fix display of compat_flag and compat_proto
authorÁlvaro Neira Ayuso <alvaroneay@gmail.com>
Fri, 9 Aug 2013 11:12:32 +0000 (13:12 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 9 Aug 2013 11:22:24 +0000 (13:22 +0200)
Fixed display compat_proto value and compat_flag if available.

Signed-off-by: Alvaro Neira Ayuso Ayuso <alvaroneay@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/rule.c

index 9d6a9969541635b5fde08c0ab9a80cb9dfac1784..4f9a03968c557812579758ed59a90186d5075ef1 100644 (file)
@@ -633,10 +633,11 @@ static int nft_rule_snprintf_json(char *buf, size_t size, struct nft_rule *r,
                                        r->rule_flags);
        SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
 
-       if(NFT_RULE_ATTR_COMPAT_PROTO != 0 || NFT_RULE_ATTR_COMPAT_FLAGS != 0){
-               ret = snprintf(buf+offset,len,"\"compat_flags\" : %u, "
-                                                                         "\"compat_proto\" : %u, ",
-                                       r->compat.flags, r->compat.proto);
+       if (r->flags & (1 << NFT_RULE_ATTR_COMPAT_PROTO) ||
+           r->flags & (1 << NFT_RULE_ATTR_COMPAT_FLAGS)) {
+               ret = snprintf(buf+offset, len, "\"compat_flags\" : %u, "
+                                               "\"compat_proto\" : %u, ",
+                              r->compat.flags, r->compat.proto);
                SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
        }