examples: fix optind reset
authorKeith Wiles <keith.wiles@intel.com>
Tue, 14 Feb 2017 22:09:41 +0000 (16:09 -0600)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 10 Mar 2017 14:38:47 +0000 (15:38 +0100)
The variable optind should be reset to one not zero.

From the man page:
"The variable optind is the index of the next element to be processed in
argv.  The system initializes this value to 1.
The caller can reset it to 1 to restart scanning of the same argv, or when
scanning a new argument vector.”

The problem I saw with my application was trying to parse the wrong
option, which can happen as DPDK parses the first part of the command line
and the application parses the second part. If you call getopt() multiple
times in the same execution, the behavior is not maintained when using
zero for optind.

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
25 files changed:
examples/distributor/main.c
examples/dpdk_qat/main.c
examples/ip_fragmentation/main.c
examples/ip_pipeline/config_parse.c
examples/ip_reassembly/main.c
examples/ipsec-secgw/ipsec-secgw.c
examples/ipv4_multicast/main.c
examples/l2fwd-cat/cat.c
examples/l2fwd-crypto/main.c
examples/l2fwd-jobstats/main.c
examples/l2fwd-keepalive/main.c
examples/l2fwd/main.c
examples/l3fwd-acl/main.c
examples/l3fwd-power/main.c
examples/l3fwd-vf/main.c
examples/l3fwd/main.c
examples/link_status_interrupt/main.c
examples/load_balancer/config.c
examples/multi_process/l2fwd_fork/main.c
examples/multi_process/symmetric_mp/main.c
examples/packet_ordering/main.c
examples/performance-thread/l3fwd-thread/main.c
examples/ptpclient/ptpclient.c
examples/qos_meter/main.c
test/test-pipeline/config.c

index e7641d2..7b8a759 100644 (file)
@@ -487,7 +487,7 @@ parse_args(int argc, char **argv)
 
        argv[optind-1] = prgname;
 
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return 0;
 }
 
index aa9b1d5..a96119c 100644 (file)
@@ -582,7 +582,7 @@ parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index e1e32c6..9e9ecae 100644 (file)
@@ -586,7 +586,7 @@ parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index 8b372e9..3ae7d48 100644 (file)
@@ -1,4 +1,4 @@
-/*-
+/*-
  *   BSD LICENSE
  *
  *   Copyright(c) 2010-2016 Intel Corporation. All rights reserved.
@@ -3407,7 +3407,7 @@ app_config_args(struct app_params *app, int argc, char **argv)
                        app_print_usage(argv[0]);
                }
 
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
 
        /* Check dependencies between args */
        if (preproc_params_present && (preproc_present == 0))
index 50fe422..e62674c 100644 (file)
@@ -718,7 +718,7 @@ parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index 5a4c9b7..685feec 100644 (file)
@@ -1039,7 +1039,7 @@ parse_args(int32_t argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index 708d76e..b681f8e 100644 (file)
@@ -575,7 +575,7 @@ parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index bad3930..6133bf5 100644 (file)
@@ -686,7 +686,7 @@ parse_args(int argc, char **argv)
 
 exit:
        /* reset getopt lib */
-       optind = 0;
+       optind = 1;
 
        /* Restore opterr value */
        opterr = oldopterr;
index 62ee933..bd21dba 100644 (file)
@@ -1450,7 +1450,7 @@ l2fwd_crypto_parse_args(struct l2fwd_crypto_options *options,
                argv[optind-1] = prgname;
 
        retval = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
 
        return retval;
 }
index dd9201b..eae7a13 100644 (file)
@@ -709,7 +709,7 @@ l2fwd_parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index 60cccdb..068f4e5 100644 (file)
@@ -464,7 +464,7 @@ l2fwd_parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index 97d6454..ffcf109 100644 (file)
@@ -475,7 +475,7 @@ l2fwd_parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index 3cfbb40..0e3daad 100644 (file)
@@ -1776,7 +1776,7 @@ parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index 15b47c7..978631c 100644 (file)
@@ -1361,7 +1361,7 @@ parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index f56e8db..dc3d547 100644 (file)
@@ -816,7 +816,7 @@ parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index a50d628..3ce1b65 100644 (file)
@@ -688,7 +688,7 @@ parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index 14a038b..97379fa 100644 (file)
@@ -451,7 +451,7 @@ lsi_parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index 157fd52..07f92a1 100644 (file)
@@ -758,7 +758,7 @@ app_parse_args(int argc, char **argv)
                argv[optind - 1] = prgname;
 
        ret = optind - 1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index 2d951d9..08df942 100644 (file)
@@ -865,7 +865,7 @@ l2fwd_parse_args(int argc, char **argv)
                return -1;
        }
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index d30ff4a..75a5272 100644 (file)
@@ -193,7 +193,7 @@ smp_parse_args(int argc, char **argv)
                        ports[num_ports++] = (uint8_t)i;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
 
        return ret;
 }
index d4dc789..a448039 100644 (file)
@@ -216,7 +216,7 @@ parse_args(int argc, char **argv)
        }
 
        argv[optind-1] = prgname;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return 0;
 }
 
index 53083df..6845e28 100644 (file)
@@ -3052,7 +3052,7 @@ parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
index 0af4f3b..a80961d 100644 (file)
@@ -708,7 +708,7 @@ ptp_parse_args(int argc, char **argv)
 
        argv[optind-1] = prgname;
 
-       optind = 0; /* Reset getopt lib. */
+       optind = 1; /* Reset getopt lib. */
 
        return 0;
 }
index 1565615..abe5eb8 100644 (file)
@@ -300,7 +300,7 @@ parse_args(int argc, char **argv)
 
        argv[optind-1] = prgname;
 
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return 0;
 }
 
index dd80ed6..1b397c0 100644 (file)
@@ -259,6 +259,6 @@ app_parse_args(int argc, char **argv)
                argv[optind - 1] = prgname;
 
        ret = optind - 1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }