]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
chsh: clean up parse_argv()
authorSami Kerola <kerolasa@iki.fi>
Sun, 14 Dec 2014 22:58:01 +0000 (22:58 +0000)
committerSami Kerola <kerolasa@iki.fi>
Mon, 5 Jan 2015 22:52:51 +0000 (22:52 +0000)
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
login-utils/chsh.c

index 0112fa45d17d81e695854f7bcd34d941f7021e73..5339e5508fac93b72a204d98dc2dc9a4e524550f 100644 (file)
@@ -129,22 +129,17 @@ static int get_shell_list(const char *shell_name)
  */
 static void parse_argv(int argc, char **argv, struct sinfo *pinfo)
 {
-       int index, c;
-
-       static struct option long_options[] = {
+       const struct option long_options[] = {
                {"shell", required_argument, 0, 's'},
                {"list-shells", no_argument, 0, 'l'},
                {"help", no_argument, 0, 'u'},
                {"version", no_argument, 0, 'v'},
                {NULL, no_argument, 0, '0'},
        };
+       int c;
 
-       optind = c = 0;
-       while (c != EOF) {
-               c = getopt_long(argc, argv, "s:luv", long_options, &index);
+       while ((c = getopt_long(argc, argv, "s:luv", long_options, NULL)) != -1) {
                switch (c) {
-               case -1:
-                       break;
                case 'v':
                        printf(UTIL_LINUX_VERSION);
                        exit(EXIT_SUCCESS);