diff options
author | John Stamp <jstamp@users.sourceforge.net> | 2009-07-19 20:06:04 -0700 |
---|---|---|
committer | Lloyd Hilaiel <lloyd@hilaiel.com> | 2009-09-09 08:53:36 -0600 |
commit | 6bcb5f23c642e8428c5e4e4b644d4dd53e73583a (patch) | |
tree | 8e53dc8b983fdcf319461c8ce97f5f5c4de0ecf7 /verify | |
parent | 4616b3a4abae56af75e9976a69ba6326de80a5c3 (diff) | |
download | yajl-6bcb5f23c642e8428c5e4e4b644d4dd53e73583a.tar.gz |
Add support for combining short options
Diffstat (limited to 'verify')
-rw-r--r-- | verify/json_verify.c | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/verify/json_verify.c b/verify/json_verify.c index d00738c..5817329 100644 --- a/verify/json_verify.c +++ b/verify/json_verify.c @@ -60,22 +60,28 @@ main(int argc, char ** argv) yajl_parser_config cfg = { 0, 1 }; /* check arguments.*/ - if (argc > 1 && argc < 5) { + int a = 1; + while ((a < argc) && (argv[a][0] == '-') && (strlen(argv[a]) > 1)) { int i; - - for (i=1; i < argc;i++) { - if (!strcmp("-q", argv[i])) { - quiet = 1; - } else if (!strcmp("-c", argv[i])) { - cfg.allowComments = 1; - } else if (!strcmp("-u", argv[i])) { - cfg.checkUTF8 = 0; - } else { - fprintf(stderr, "unrecognized option: '%s'\n\n", argv[i]); - usage(argv[0]); + for ( i=1; i < strlen(argv[a]); i++) { + switch (argv[a][i]) { + case 'q': + quiet = 1; + break; + case 'c': + cfg.allowComments = 1; + break; + case 'u': + cfg.checkUTF8 = 0; + break; + default: + fprintf(stderr, "unrecognized option: '%c'\n\n", argv[a][i]); + usage(argv[0]); } } - } else if (argc != 1) { + ++a; + } + if (a < argc) { usage(argv[0]); } |