aboutsummaryrefslogtreecommitdiffstats
path: root/fsck
diff options
context:
space:
mode:
authorrelan <relan@users.noreply.github.com>2013-03-29 06:29:10 +0000
committerrelan <relan@users.noreply.github.com>2015-08-24 08:26:15 +0300
commit31b12322138ca83cd558bb5cc79a45272eab70f2 (patch)
tree2b2bfef16593b69a9f405a4cdbc21163a9b2da3d /fsck
parent8ba82142027e778a89375fb28c1ba1b2359d7507 (diff)
downloadandroid_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.c18
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;