diff options
author | Matt Kraai | 2001-04-17 04:48:51 +0000 |
---|---|---|
committer | Matt Kraai | 2001-04-17 04:48:51 +0000 |
commit | a3045dfd258b1db2e23eeaaeb6735b297a96941e (patch) | |
tree | adddf3c44e8766c3ef903b058116f40384eedf1e /util-linux | |
parent | 1240082e37d5e89c618de0d28d8466e611c41f4a (diff) | |
download | busybox-a3045dfd258b1db2e23eeaaeb6735b297a96941e.zip busybox-a3045dfd258b1db2e23eeaaeb6735b297a96941e.tar.gz |
Convert mount to use getopt.
Diffstat (limited to 'util-linux')
-rw-r--r-- | util-linux/mount.c | 86 |
1 files changed, 31 insertions, 55 deletions
diff --git a/util-linux/mount.c b/util-linux/mount.c index 6a4c8eb..90c1cc7 100644 --- a/util-linux/mount.c +++ b/util-linux/mount.c @@ -343,65 +343,44 @@ extern int mount_main(int argc, char **argv) int all = FALSE; int fakeIt = FALSE; int useMtab = TRUE; - int i; int rc = EXIT_FAILURE; int fstabmount = FALSE; + int opt; /* Parse options */ - i = --argc; - argv++; - while (i > 0 && **argv) { - if (**argv == '-') { - char *opt = *argv; - - while (i > 0 && *++opt) - switch (*opt) { - case 'o': - if (--i == 0) { - goto goodbye; - } - parse_mount_options(*(++argv), &flags, string_flags); - break; - case 'r': - flags |= MS_RDONLY; - break; - case 't': - if (--i == 0) { - goto goodbye; - } - filesystemType = *(++argv); - break; - case 'w': - flags &= ~MS_RDONLY; - break; - case 'a': - all = TRUE; - break; - case 'f': - fakeIt = TRUE; - break; + while ((opt = getopt(argc, argv, "o:rt:wafnv")) > 0) { + switch (opt) { + case 'o': + parse_mount_options(optarg, &flags, string_flags); + break; + case 'r': + flags |= MS_RDONLY; + break; + case 't': + filesystemType = optarg; + break; + case 'w': + flags &= ~MS_RDONLY; + break; + case 'a': + all = TRUE; + break; + case 'f': + fakeIt = TRUE; + break; #ifdef BB_FEATURE_MTAB_SUPPORT - case 'n': - useMtab = FALSE; - break; + case 'n': + useMtab = FALSE; + break; #endif - case 'v': - break; /* ignore -v */ - case 'h': - case '-': - goto goodbye; - } - } else { - if (device == NULL) - device = *argv; - else if (directory == NULL) - directory = *argv; - else { - goto goodbye; - } + case 'v': + break; /* ignore -v */ } - i--; - argv++; + } + + if (argv[optind] != NULL) { + device = argv[optind]; + directory = argv[optind + 1]; } if (device == NULL && !all) @@ -469,7 +448,4 @@ singlemount: } goto singlemount; - -goodbye: - show_usage(); } |