xtables: nft: display rule number via -S

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
diff --git a/iptables/nft.c b/iptables/nft.c
index a9a391d..3d5a153 100644
--- a/iptables/nft.c
+++ b/iptables/nft.c
@@ -2543,11 +2543,13 @@
 	struct nft_chain_list *list;
 	struct nft_chain_list_iter *iter;
 	struct nft_chain *c;
+	int ret = 1;
 
 	list = nft_chain_dump(h);
 
 	/* Dump policies and custom chains first */
-	nft_rule_list_chain_save(h, table, list, counters);
+	if (!rulenum)
+		nft_rule_list_chain_save(h, table, list, counters);
 
 	/* Now dump out rules in this table */
 	iter = nft_chain_list_iter_create(list);
@@ -2566,15 +2568,15 @@
 		if (chain && strcmp(chain, chain_name) != 0)
 			goto next;
 
-		__nft_rule_list(h, c, table, rulenum,
-				counters ? 0 : FMT_NOCOUNTS, list_save);
+		ret = __nft_rule_list(h, c, table, rulenum,
+				      counters ? 0 : FMT_NOCOUNTS, list_save);
 next:
 		c = nft_chain_list_iter_next(iter);
 	}
 err:
 	nft_chain_list_free(list);
 
-	return 1;
+	return ret;
 }
 
 static int nft_action(struct nft_handle *h, int type)
diff --git a/iptables/xtables.c b/iptables/xtables.c
index c712aaf..a5a83c2 100644
--- a/iptables/xtables.c
+++ b/iptables/xtables.c
@@ -582,7 +582,7 @@
 
 	nft_rule_list_save(h, chain, table, rulenum, counters);
 
-	/* FIXME found */
+	/* iptables does not return error if rule number not found */
 	return 1;
 }