git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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
Previous: D. Ben KnobleNext: Phillip Wood
Message 2 of 15 in “Fixes for :(optional) path code”
  1. 0/5 Fixes for :(optional) path codeD. Ben Knoble, Nov 2, 2025
  2. 1/5 parseopt: fix :(optional) at command line to only ignore missing filesD. Ben Knoble, Nov 2, 2025
  3. Phillip WoodNov 4, 2025
  4. Junio C HamanoNov 4, 2025
  5. Junio C HamanoNov 4, 2025
  6. D. Ben KnobleNov 4, 2025
  7. Phillip WoodNov 5, 2025
  8. Junio C HamanoNov 6, 2025
  9. 2/5 doc: clarify command equivalence commentD. Ben Knoble, Nov 2, 2025
  10. 3/5 parseopt: use boolean type for a simple flagD. Ben Knoble, Nov 2, 2025
  11. Junio C HamanoNov 3, 2025
  12. Phillip WoodNov 4, 2025
  13. D. Ben KnobleNov 4, 2025
  14. 4/5 config: use boolean type for a simple flagD. Ben Knoble, Nov 2, 2025
  15. 5/5 parseopt: restore const qualifier to parsed filenameD. Ben Knoble, Nov 2, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.