From 60a6073690a456770bf18d190beb57e8f2c8759f Mon Sep 17 00:00:00 2001 From: Henrik Nordstrom Date: Tue, 13 May 2008 13:10:38 +0200 Subject: Make --set-counters (-c) accept comma separated counters Here is the --set-counters syntax patch requested earlier today making --set-counters (-c) accept comma separated counts. -c packets,bytes I have not updated the manpage to reflect this alternate syntax for the --set-counters (-c) option. Henrik Nordstrom --- iptables.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'iptables.c') diff --git a/iptables.c b/iptables.c index f2a7d25e..cff8cf4f 100644 --- a/iptables.c +++ b/iptables.c @@ -1794,21 +1794,24 @@ int do_command(int argc, char *argv[], char **table, iptc_handle_t *handle) set_option(&options, OPT_COUNTERS, &fw.ip.invflags, invert); pcnt = optarg; - if (optind < argc && argv[optind][0] != '-' + bcnt = strchr(pcnt + 1, ','); + if (bcnt) + bcnt++; + if (!bcnt && optind < argc && argv[optind][0] != '-' && argv[optind][0] != '!') bcnt = argv[optind++]; - else + if (!bcnt) exit_error(PARAMETER_PROBLEM, "-%c requires packet and byte counter", opt2char(OPT_COUNTERS)); - if (sscanf(pcnt, "%llu", (unsigned long long *)&cnt) != 1) + if (sscanf(pcnt, "%llu", &cnt) != 1) exit_error(PARAMETER_PROBLEM, "-%c packet counter not numeric", opt2char(OPT_COUNTERS)); fw.counters.pcnt = cnt; - if (sscanf(bcnt, "%llu", (unsigned long long *)&cnt) != 1) + if (sscanf(bcnt, "%llu", &cnt) != 1) exit_error(PARAMETER_PROBLEM, "-%c byte counter not numeric", opt2char(OPT_COUNTERS)); -- cgit v1.2.3