]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
tc: m_xt: Simplify argc adjusting in parse_ipt()
authorPhil Sutter <phil@nwl.cc>
Fri, 10 Jun 2016 11:42:07 +0000 (13:42 +0200)
committerStephen Hemminger <shemming@brocade.com>
Tue, 14 Jun 2016 21:35:56 +0000 (14:35 -0700)
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>
tc/m_xt.c

index 55ebadf2cf50a4a166497946514d31eb09e8ba99..f449c9d1a66382b41204f48a402644f2a6585f4e 100644 (file)
--- a/tc/m_xt.c
+++ b/tc/m_xt.c
@@ -124,7 +124,7 @@ static int parse_ipt(struct action_util *a, int *argc_p,
 
        int c;
        char **argv = *argv_p;
-       int argc = 0;
+       int argc;
        char k[16];
        int size = 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);
        set_lib_dir();
 
-       {
-               int i;
-
-               for (i = 0; i < *argc_p; i++) {
-                       if (NULL == argv[i] || 0 == strcmp(argv[i], "action")) {
-                               break;
-                       }
-               }
-               argc = i;
+       /* parse only up until the next action */
+       for (argc = 0; argc < *argc_p; argc++) {
+               if (!argv[argc] || !strcmp(argv[argc], "action"))
+                       break;
        }
 
        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;
        }