From: Yu Watanabe Date: Tue, 18 Sep 2018 14:24:58 +0000 (+0900) Subject: verbs: reset optind (#10116) X-Git-Tag: v240~714 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=010d436e020ab4af57a8b9fc38918f551acc875b;p=platform%2Fupstream%2Fsystemd.git verbs: reset optind (#10116) optind may be used in each verb, e.g., udevadm. So, let's initialize optind before calling verbs. Without this, e.g., udevadm -d hwdb --update causes error in parsing arguments. --- diff --git a/src/basic/verbs.c b/src/basic/verbs.c index 1893ea3..34c7708 100644 --- a/src/basic/verbs.c +++ b/src/basic/verbs.c @@ -59,7 +59,9 @@ int dispatch_verb(int argc, char *argv[], const Verb verbs[], void *userdata) { assert(argc >= optind); left = argc - optind; - name = argv[optind]; + argv += optind; + optind = 0; + name = argv[0]; for (i = 0;; i++) { bool found; @@ -116,7 +118,7 @@ int dispatch_verb(int argc, char *argv[], const Verb verbs[], void *userdata) { } if (name) - return verb->dispatch(left, argv + optind, userdata); + return verb->dispatch(left, argv, userdata); else { char* fake[2] = { (char*) verb->verb,