diff options
author | relan <relan@users.noreply.github.com> | 2013-03-29 06:29:10 +0000 |
---|---|---|
committer | relan <relan@users.noreply.github.com> | 2015-08-24 08:26:15 +0300 |
commit | 31b12322138ca83cd558bb5cc79a45272eab70f2 (patch) | |
tree | 2b2bfef16593b69a9f405a4cdbc21163a9b2da3d /fsck | |
parent | 8ba82142027e778a89375fb28c1ba1b2359d7507 (diff) | |
download | android_external_exfat-31b12322138ca83cd558bb5cc79a45272eab70f2.tar.gz android_external_exfat-31b12322138ca83cd558bb5cc79a45272eab70f2.tar.bz2 android_external_exfat-31b12322138ca83cd558bb5cc79a45272eab70f2.zip |
Use getopt() for options parsing.
Diffstat (limited to 'fsck')
-rw-r--r-- | fsck/main.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/fsck/main.c b/fsck/main.c index 8e305d3..421bd1d 100644 --- a/fsck/main.c +++ b/fsck/main.c @@ -23,6 +23,7 @@ #include <exfat.h> #include <exfatfs.h> #include <inttypes.h> +#include <unistd.h> #define exfat_debug(format, ...) @@ -130,27 +131,28 @@ static void usage(const char* prog) int main(int argc, char* argv[]) { - char** pp; + int opt; const char* spec = NULL; struct exfat ef; printf("exfatfsck %u.%u.%u\n", EXFAT_VERSION_MAJOR, EXFAT_VERSION_MINOR, EXFAT_VERSION_PATCH); - for (pp = argv + 1; *pp; pp++) + while ((opt = getopt(argc, argv, "V")) != -1) { - if (strcmp(*pp, "-V") == 0) + switch (opt) { + case 'V': puts("Copyright (C) 2011-2013 Andrew Nayenko"); return 0; - } - else if (spec == NULL) - spec = *pp; - else + default: usage(argv[0]); + break; + } } - if (spec == NULL) + if (argc - optind != 1) usage(argv[0]); + spec = argv[optind]; if (exfat_mount(&ef, spec, "ro") != 0) return 1; |