summaryrefslogtreecommitdiff
path: root/src/internal/argv
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-03-08 09:00:40 -0500
committermidipix <writeonce@midipix.org>2016-03-10 08:32:39 -0500
commit600e8503ac234ce114a0ed95245a019be63852a8 (patch)
tree072d217424509ef1dd00af21e081ae274b7f68c9 /src/internal/argv
parent519dd2fe885ba3e693ff29922614405109443d5b (diff)
downloadslibtool-600e8503ac234ce114a0ed95245a019be63852a8.tar.bz2
slibtool-600e8503ac234ce114a0ed95245a019be63852a8.tar.xz
argv.h: test for ARGV_OPTION_HYBRID_ONLY before accepting arg-less options.
Diffstat (limited to 'src/internal/argv')
-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 dbf05d6..7568436 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))