* [patch] Make --set-counters (-c) accept comma separated counters
@ 2008-05-12 20:36 Henrik Nordstrom
2008-05-13 10:57 ` Patrick McHardy
0 siblings, 1 reply; 2+ messages in thread
From: Henrik Nordstrom @ 2008-05-12 20:36 UTC (permalink / raw)
To: netfilter-devel; +Cc: Jan Engelhardt
[-- Attachment #1: Type: text/plain, Size: 258 bytes --]
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.
Regards
Henrik
[-- Attachment #2: set-counters-comma.patch --]
[-- Type: text/x-patch, Size: 2322 bytes --]
Index: iptables/ip6tables.c
===================================================================
--- iptables.orig/ip6tables.c
+++ iptables/ip6tables.c
@@ -1754,26 +1754,28 @@ int do_command6(int argc, char *argv[],
set_option(&options, OPT_COUNTERS, &fw.ipv6.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));
fw.counters.bcnt = cnt;
-
break;
case 1: /* non option */
Index: iptables/iptables.c
===================================================================
--- iptables.orig/iptables.c
+++ iptables/iptables.c
@@ -1794,21 +1794,24 @@ int do_command(int argc, char *argv[], c
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));
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-05-13 10:58 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-12 20:36 [patch] Make --set-counters (-c) accept comma separated counters Henrik Nordstrom
2008-05-13 10:57 ` Patrick McHardy
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.