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 /dump | |
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 'dump')
-rw-r--r-- | dump/main.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/dump/main.c b/dump/main.c index b4fad19..8650d51 100644 --- a/dump/main.c +++ b/dump/main.c @@ -146,7 +146,7 @@ static void usage(const char* prog) int main(int argc, char* argv[]) { - char** pp; + int opt; const char* spec = NULL; bool sb_only = false; bool used_sectors = false; @@ -154,24 +154,26 @@ int main(int argc, char* argv[]) printf("dumpexfat %u.%u.%u\n", EXFAT_VERSION_MAJOR, EXFAT_VERSION_MINOR, EXFAT_VERSION_PATCH); - for (pp = argv + 1; *pp; pp++) + while ((opt = getopt(argc, argv, "suV")) != -1) { - if (strcmp(*pp, "-s") == 0) + switch (opt) + { + case 's': sb_only = true; - else if (strcmp(*pp, "-u") == 0) + break; + case 'u': used_sectors = true; - else if (strcmp(*pp, "-V") == 0) - { + break; + case 'V': puts("Copyright (C) 2011-2013 Andrew Nayenko"); return 0; - } - else if (spec == NULL) - spec = *pp; - else + default: usage(argv[0]); + } } - if (spec == NULL) + if (argc - optind != 1) usage(argv[0]); + spec = argv[optind]; if (sb_only) return dump_sb(spec); |