tc: m_xt: Simplify argc adjusting in parse_ipt()
And while at it, also improve the error message in case too few parameters have been given. Signed-off-by: Phil Sutter <phil@nwl.cc>
This commit is contained in:
parent
28432f370e
commit
f6ddd9c5da
17
tc/m_xt.c
17
tc/m_xt.c
|
|
@ -124,7 +124,7 @@ static int parse_ipt(struct action_util *a, int *argc_p,
|
||||||
|
|
||||||
int c;
|
int c;
|
||||||
char **argv = *argv_p;
|
char **argv = *argv_p;
|
||||||
int argc = 0;
|
int argc;
|
||||||
char k[16];
|
char k[16];
|
||||||
int size = 0;
|
int size = 0;
|
||||||
int iok = 0, ok = 0;
|
int iok = 0, ok = 0;
|
||||||
|
|
@ -136,19 +136,14 @@ static int parse_ipt(struct action_util *a, int *argc_p,
|
||||||
xtables_init_all(&tmp_tcipt_globals, NFPROTO_IPV4);
|
xtables_init_all(&tmp_tcipt_globals, NFPROTO_IPV4);
|
||||||
set_lib_dir();
|
set_lib_dir();
|
||||||
|
|
||||||
{
|
/* parse only up until the next action */
|
||||||
int i;
|
for (argc = 0; argc < *argc_p; argc++) {
|
||||||
|
if (!argv[argc] || !strcmp(argv[argc], "action"))
|
||||||
for (i = 0; i < *argc_p; i++) {
|
break;
|
||||||
if (NULL == argv[i] || 0 == strcmp(argv[i], "action")) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
argc = i;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (argc <= 2) {
|
if (argc <= 2) {
|
||||||
fprintf(stderr, "bad arguments to ipt %d vs %d\n", argc, *argc_p);
|
fprintf(stderr, "too few arguments for xt, need at least '-j <target>'\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue