]> git.droids-corp.org - dpdk.git/commitdiff
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 e7641d2c7f99ed0ba9b929d445327e54549e0b14..7b8a7595ef6ba7c427ba05355e2ddbb40d547bfc 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 aa9b1d5cc05433676231a5a7e80ec5ff5310e88b..a96119cde5e620cbd0b8f13917541407642823ac 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 e1e32c66c8db7e644c193c7cf1af1fff53239203..9e9ecaefb9c09409c4eb64773ab2c36cfae29f29 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 8b372e94ece2289969caa50c7092b9dfd7864dd5..3ae7d48d58ef431b747df9eeafeaff80290a201d 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 50fe4228efd8ff1f10f3101af13859a541997110..e62674c5d05d153a4a2b868457c20f74224592fc 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 5a4c9b71b17ef3970feeaf7a93a1620ecb592f10..685feec1fdca253c25613f3daa3608de85b9b720 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 708d76e9af6dc3790b6ed68f0174da9a8bbf0e64..b681f8e2b6fb9ab91f2c9cba3d05f21d38cae2c1 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 bad39305af7f12e5e630255d68cab2644a330680..6133bf5bbcbdc0d59e7741e76c0ec8c0121f5f66 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 62ee9339f48902c2f80c758e21f1c18c38eeda89..bd21dba7edbe69104cc1e7981a9337db3122332d 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 dd9201b258b10309770e4c1fb6479e2a48378605..eae7a13a3796aa5d36004e01de0dbc488749e319 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 60cccdb1084b297bc82330356dc77e038d5dfa74..068f4e5f96130069827b67d1b9bb7ebce44c349b 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 97d6454303da72d6bdbf9de16e74c99086ec5393..ffcf109574944d2d2217f8c11e0afdfc5ac74def 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 3cfbb40eadd0869c1d47822a013fcb08f1c1ab83..0e3daadf948f0664e26c35521c073a35b06e71cc 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 15b47c7ddd2e090377bd8979c3b375684368b377..978631cf299bcb144b35536022b1677273060b32 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 f56e8db900b7bd5aa7618c3c3610b982b7403dbf..dc3d5472943f754d857f9bc0c9a8a2ac9ff49b34 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 a50d628fca47855b1933efa9bf35e80574dbd72a..3ce1b6539bce585d33072e23c5515dd6c2d154ba 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 14a038b729edc97f3a16017d72ea4528188b027c..97379fa3d6091a03b559563aa7835012213027db 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 157fd528f073e876bc807594293bc0a56ec5c7f2..07f92a1ab89005b21461ce30d7183d58bc0208be 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 2d951d93035772d18249fd09a7e241406e5e57c5..08df942d5e8f4fd15bfd67f301bbc66555b98a3f 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 d30ff4a4764fa7965fdd3d3f12b932c56a755223..75a52728dc5dbd4a5ebb531642fe29345894817b 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 d4dc7894eb724a21ed71189ea14882a712a2f575..a448039d3d9addb36f8ce257a476f668432b22e3 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 53083dfa5e46aaf6ba6b549bf8683573cba81e58..6845e28729cde1f4b27259bd15330aec593c1ffd 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 0af4f3b61e6a2cc6bedc93ff2832faa09379396e..a80961d3952ab2f171d1d2444d868b46b5041ba8 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 1565615567c533a7101f2e8755a1be2b599f4ed0..abe5eb8bfe3c22397eb91275647a31cd56415519 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 dd80ed6991b7b76d5008a726735b25c50a7bad64..1b397c0391323be12b40d25574120b4025c78fd2 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;
 }