Let callers define the flags to pass to nft_rule_save() instead of just setting the counters boolean. Signed-off-by: Phil Sutter <phil@xxxxxx> --- iptables/xtables-save.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/iptables/xtables-save.c b/iptables/xtables-save.c index 249b396091af4..980a80ff06f96 100644 --- a/iptables/xtables-save.c +++ b/iptables/xtables-save.c @@ -66,7 +66,7 @@ static const struct option ebt_save_options[] = { static bool ebt_legacy_counter_format; struct do_output_data { - bool counters; + unsigned int format; bool commit; }; @@ -98,7 +98,7 @@ __do_output(struct nft_handle *h, const char *tablename, void *data) /* Dump out chain names first, * thereby preventing dependency conflicts */ nft_chain_save(h, chain_list); - nft_rule_save(h, tablename, d->counters ? 0 : FMT_NOCOUNTS); + nft_rule_save(h, tablename, d->format); if (d->commit) printf("COMMIT\n"); @@ -139,7 +139,9 @@ xtables_save_main(int family, int argc, char *argv[], { const struct builtin_table *tables; const char *tablename = NULL; - struct do_output_data d = {}; + struct do_output_data d = { + .format = FMT_NOCOUNTS, + }; bool dump = false; struct nft_handle h = { .family = family, @@ -162,7 +164,7 @@ xtables_save_main(int family, int argc, char *argv[], fprintf(stderr, "-b/--binary option is not implemented\n"); break; case 'c': - d.counters = true; + d.format &= ~FMT_NOCOUNTS; break; case 't': -- 2.22.0