aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorD. Ben Knoble <ben.knoble+github@gmail.com>2025-11-02 11:17:44 -0500
committerJunio C Hamano <gitster@pobox.com>2025-11-04 09:25:51 -0800
commitaece3bc266d3edf3a2710799876ce538561b5fba (patch)
treedab02ee62c70d3cad802e7b0f0e7ad1f8c136bd0
parentparseopt: values of pathname type can be prefixed with :(optional) (diff)
downloadgit-aece3bc266d3edf3a2710799876ce538561b5fba.tar.gz
git-aece3bc266d3edf3a2710799876ce538561b5fba.zip
parseopt: fix :(optional) at command line to only ignore missing files
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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--parse-options.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/parse-options.c b/parse-options.c
index 4faf66023a..5b7dc29b2c 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);