[PATCH 1/5] parseopt: fix :(optional) at command line to only ignore missing files
- From
D. Ben Knoble <ben.knoble+github@gmail.com>
- Date
- Nov 2, 2025, 16:17 UTC
- Message-ID
- <9ec696eaac647aa01466b101129da2b12ef5dbd5.1762100242.git.ben.knoble+github@gmail.com>
- In-Reply-To
- <cover.1762100242.git.ben.knoble+github@gmail.com>
Unlike the configuration option magic, the parseopt code also ignores empty files: compare implementations from ccfcaf399f (parseopt: values of pathname type can be prefixed with :(optional), 2025-09-28) and 749d6d166d (config: values of pathname type can be prefixed with :(optional), 2025-09-28).
Unify the 2 by not ignoring empty files, which is less surprising and the intended semantics from the first patch for config.
Suggested-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com> --- parse-options.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/parse-options.c b/parse-options.c index 5933468c19..6211b55a83 100644 --- a/parse-options.c +++ b/parse-options.c @@ -226,7 +226,7 @@ static enum parse_opt_result do_get_value(struct parse_opt_ctx_t *p, if (!value) is_optional = 0; value = fix_filename(p->prefix, value); - if (is_optional && is_empty_or_missing_file(value)) { + if (is_optional && is_missing_file(value)) { free((char *)value); } else { FREE_AND_NULL(*(char **)opt->value);
-- 2.48.1