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 frommainccfcaf399f(parseopt: values of pathname type can be prefixed with :(optional), 2025-09-28) and749d6d166d(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>
parent
ccfcaf399f
commit
aece3bc266
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue