600e85
argv.h: test for ARGV_OPTION_HYBRID_ONLY before accepting arg-less options.
@@ -381,15 +381,15 @@ static void argv_scan(
|
|
381
381
|
|
382
382
|
if (fhybrid && !(option->flags & ARGV_OPTION_HYBRID_SWITCH))
|
383
383
|
ferr = ARGV_ERROR_HYBRID_NONE;
|
384
|
+
else if (!fhybrid && (option->flags & ARGV_OPTION_HYBRID_ONLY))
|
385
|
+
ferr = ARGV_ERROR_HYBRID_ONLY;
|
384
386
|
else if (option->optarg == ARGV_OPTARG_NONE) {
|
385
387
|
if (val[0]) {
|
386
388
|
ferr = ARGV_ERROR_OPTARG_NONE;
|
387
389
|
ctx->errch = val + 1;
|
388
390
|
} else
|
389
391
|
fval = false;
|
390
|
-
} else if
|
392
|
+
} else if (val[0] && (option->flags & ARGV_OPTION_HYBRID_JOINED)) {
|
391
|
-
ferr = ARGV_ERROR_HYBRID_ONLY;
|
392
|
-
else if (val[0] && (option->flags & ARGV_OPTION_HYBRID_JOINED)) {
|
393
393
|
fval = true;
|
394
394
|
ch = val;
|
395
395
|
} else if (fhybrid && !val[0] && !(option->flags & ARGV_OPTION_HYBRID_SPACE))
|