summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2021-03-15 14:37:03 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2021-03-15 17:45:16 +0100
commitc0700e2e35c8aee95d388c93986d1dcaae22fadc (patch)
tree683a52117bdd91bfee98b3416e8db1b064752d9d
parentf82fb4b52ddf29337872bf73a7040f1e1e1a93a9 (diff)
conntrack: add function to print command stats
Wrap code to display command stats in a function. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--src/conntrack.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/conntrack.c b/src/conntrack.c
index b9b0e31..4bc340f 100644
--- a/src/conntrack.c
+++ b/src/conntrack.c
@@ -2791,6 +2791,18 @@ nfct_set_nat_details(const int opt, struct nf_conntrack *ct,
}
+static int print_stats(const struct ct_cmd *cmd)
+{
+ if (cmd->command && exit_msg[cmd->cmd][0]) {
+ fprintf(stderr, "%s v%s (conntrack-tools): ",PROGNAME,VERSION);
+ fprintf(stderr, exit_msg[cmd->cmd], counter);
+ if (counter == 0 && !(cmd->command & (CT_LIST | EXP_LIST)))
+ return -1;
+ }
+
+ return 0;
+}
+
static void do_parse(struct ct_cmd *ct_cmd, int argc, char *argv[])
{
unsigned int type = 0, event_mask = 0, l4flags = 0, status = 0;
@@ -3528,13 +3540,6 @@ try_proc:
if (labelmap)
nfct_labelmap_destroy(labelmap);
- if (cmd->command && exit_msg[cmd->cmd][0]) {
- fprintf(stderr, "%s v%s (conntrack-tools): ",PROGNAME,VERSION);
- fprintf(stderr, exit_msg[cmd->cmd], counter);
- if (counter == 0 && !(cmd->command & (CT_LIST | EXP_LIST)))
- return EXIT_FAILURE;
- }
-
return EXIT_SUCCESS;
}
@@ -3553,6 +3558,10 @@ int main(int argc, char *argv[])
register_unknown();
do_parse(cmd, argc, argv);
+ do_command_ct(argv[0], cmd);
- return do_command_ct(argv[0], cmd);
+ if (print_stats(cmd) < 0)
+ return EXIT_FAILURE;
+
+ return EXIT_SUCCESS;
}