[PATCH conntrack 6/6] conntrack: add function to print command stats

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Wrap code to display command stats in a function.

Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
---
 src/conntrack.c | 25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/src/conntrack.c b/src/conntrack.c
index b9b0e31c8269..4bc340f69cfc 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;
 }
-- 
2.20.1




[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux