summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-03-08 09:00:40 -0500
committermidipix <writeonce@midipix.org>2016-03-08 09:09:28 -0500
commitf291ebe76bf33c7b4cbbb15db58cc9e2c901dc5d (patch)
tree683cd74ce6566d8d04be8c00306f0c05f80ff4e0
parent2b39500bc50e647edc96cef1de727f4eb41a5e0b (diff)
downloadapimagic-f291ebe76bf33c7b4cbbb15db58cc9e2c901dc5d.tar.bz2
apimagic-f291ebe76bf33c7b4cbbb15db58cc9e2c901dc5d.tar.xz
argv.h: test for ARGV_OPTION_HYBRID_ONLY before accepting arg-less options.
-rw-r--r--src/internal/argv/argv.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/internal/argv/argv.h b/src/internal/argv/argv.h
index 5fd7c88..dc78b2e 100644
--- a/src/internal/argv/argv.h
+++ b/src/internal/argv/argv.h
@@ -381,15 +381,15 @@ static void argv_scan(
if (fhybrid && !(option->flags & ARGV_OPTION_HYBRID_SWITCH))
ferr = ARGV_ERROR_HYBRID_NONE;
+ else if (!fhybrid && (option->flags & ARGV_OPTION_HYBRID_ONLY))
+ ferr = ARGV_ERROR_HYBRID_ONLY;
else if (option->optarg == ARGV_OPTARG_NONE) {
if (val[0]) {
ferr = ARGV_ERROR_OPTARG_NONE;
ctx->errch = val + 1;
} else
fval = false;
- } else if (!fhybrid && (option->flags & ARGV_OPTION_HYBRID_ONLY))
- ferr = ARGV_ERROR_HYBRID_ONLY;
- else if (val[0] && (option->flags & ARGV_OPTION_HYBRID_JOINED)) {
+ } else if (val[0] && (option->flags & ARGV_OPTION_HYBRID_JOINED)) {
fval = true;
ch = val;
} else if (fhybrid && !val[0] && !(option->flags & ARGV_OPTION_HYBRID_SPACE))