diff options
author | William Pitcock <nenolod@dereferenced.org> | 2018-01-09 02:41:55 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2018-01-09 17:07:22 +0000 |
commit | 5da4dec2a23e35153075838c4587c07dd20459f9 (patch) | |
tree | 2a4ff512f5ca1b18c9f1fe453d05d33056f32c51 | |
parent | 182bfa0a9f0eb804408dddaf714e6fde1483730d (diff) | |
download | apk-tools-5da4dec2a23e35153075838c4587c07dd20459f9.tar.gz apk-tools-5da4dec2a23e35153075838c4587c07dd20459f9.tar.bz2 apk-tools-5da4dec2a23e35153075838c4587c07dd20459f9.tar.xz apk-tools-5da4dec2a23e35153075838c4587c07dd20459f9.zip |
apk: make --help --verbose actually work.
-rw-r--r-- | src/apk.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -519,7 +519,7 @@ int main(int argc, char **argv) struct apk_applet *applet; char short_options[256], *sopt; struct option *opt, *all_options; - int i, p, r, num_options; + int i, p, r, num_options, help_requested = 0; void *ctx = NULL; struct apk_db_options dbopts; const struct apk_option_group **optgroups = default_optgroups; @@ -574,10 +574,19 @@ int main(int argc, char **argv) for (i = 0; optgroups[i]; i++) { r = optgroups[i]->parse(ctx, &dbopts, p, optarg); if (r == 0) break; + if (r == -EINVAL) { + help_requested = 1; + break; + } if (r != -ENOTSUP) goto err_and_usage; } } + if (help_requested) { + r = usage(applet); + goto err; + } + if (applet == NULL) { if (argc > 1) { r = 1; |