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

[PATCH 3/3] parse-options: make sure argh string does not have SP or _

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 24, 2014, 17:52 UTC
Message-ID
<1395683525-2868-4-git-send-email-gitster@pobox.com>
In-Reply-To
<1395683525-2868-1-git-send-email-gitster@pobox.com>

We encourage to spell an argument hint that consists of multiple words as a single-token separated with dashes. In order to help catching violations added by new callers of parse-options, make sure argh does not contain SP or _ when the code validates the option definitions.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 parse-options.c | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/parse-options.c b/parse-options.c
index a5fa0b8..c81d3a0 100644
--- a/parse-options.c
+++ b/parse-options.c
@@ -375,6 +375,9 @@ static void parse_options_check(const struct option *opts)
 		default:
 			; /* ok. (usually accepts an argument) */
 		}
+		if (opts->argh &&
+		    strcspn(opts->argh, " _") != strlen(opts->argh))
+			err |= optbug(opts, "multi-word argh should use dash to separate words");
 	}
 	if (err)
 		exit(128);
-- 
1.9.1-471-gcccbd8b
Previous: Junio C HamanoNext: Eric Sunshine
Message 21 of 23 in “rev-parse --parseopt: option argument name hints”
  1. rev-parse --parseopt: option argument name hintsIlya Bobyr, Mar 3, 2014
  2. Junio C HamanoMar 4, 2014
  3. Ilya BobyrMar 10, 2014
  4. rev-parse --parseopt: option argument name hintsIlya Bobyr, Mar 10, 2014
  5. Junio C HamanoMar 10, 2014
  6. Junio C HamanoMar 11, 2014
  7. Ilya BobyrMar 12, 2014
  8. Junio C HamanoMar 12, 2014
  9. Ilya BobyrMar 19, 2014
  10. Junio C HamanoMar 19, 2014
  11. Ilya BobyrMar 20, 2014
  12. rev-parse --parseopt: option argument name hintsIlya Bobyr, Mar 20, 2014
  13. Junio C HamanoMar 20, 2014
  14. Ilya BobyrMar 20, 2014
  15. Ilya BobyrMar 21, 2014
  16. Junio C HamanoMar 21, 2014
  17. rev-parse --parseopt: option argument name hintsIlya Bobyr, Mar 22, 2014
  18. 0/3 Parse-options: spell multi-word placeholders with dashesJunio C Hamano, Mar 24, 2014
  19. 1/3 parse-options: multi-word argh should use dash to separate wordsJunio C Hamano, Mar 24, 2014
  20. 2/3 update-index: teach --cacheinfo a new syntax "mode,sha1,path"Junio C Hamano, Mar 24, 2014
  21. 3/3 parse-options: make sure argh string does not have SP or _Junio C Hamano, Mar 24, 2014
  22. Eric SunshineMar 20, 2014
  23. Ilya BobyrMar 21, 2014

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.