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

[PATCH 3/6] config: introduce git_parse_maybe_bool_text

From
MÅMartin Ågren <martin.agren@gmail.com>
Date
Aug 7, 2017, 18:20 UTC
Message-ID
<c244a7bfd521f99d79d0eae67395ff1dd6cd01d1.1502128418.git.martin.agren@gmail.com>
In-Reply-To
<cover.1502128418.git.martin.agren@gmail.com>

Commit 9a549d43 ("config.c: rename git_config_maybe_bool_text and export it as git_parse_maybe_bool", 2015-08-19) intended git_parse_maybe_bool to be a replacement for git_config_maybe_bool, which could then be retired. That is not obvious from the commit message, but that is what the background on the mailing list suggests [1].

However, git_{config,parse}_maybe_bool do not handle all input the same. Before the rename, that was by design and there is a caller in config.c which requires git_parse_maybe_bool to behave exactly as it does.

Prepare for the next patch by renaming git_parse_maybe_bool to ..._text and reimplementing the first one as a simple call to the second one. Let the existing users in config.c use ..._text, since it does what they need.

[1] https://public-inbox.org/git/xmqq7fotd71o.fsf@gitster.dls.corp.google.com/
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
---
 config.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/config.c b/config.c
index 231f9a750..7df57cec0 100644
--- a/config.c
+++ b/config.c
@@ -928,7 +928,7 @@ ssize_t git_config_ssize_t(const char *name, const char *value)
 	return ret;
 }
 
-int git_parse_maybe_bool(const char *value)
+static int git_parse_maybe_bool_text(const char *value)
 {
 	if (!value)
 		return 1;
@@ -945,9 +945,14 @@ int git_parse_maybe_bool(const char *value)
 	return -1;
 }
 
+int git_parse_maybe_bool(const char *value)
+{
+	return git_parse_maybe_bool_text(value);
+}
+
 int git_config_maybe_bool(const char *name, const char *value)
 {
-	int v = git_parse_maybe_bool(value);
+	int v = git_parse_maybe_bool_text(value);
 	if (0 <= v)
 		return v;
 	if (git_parse_int(value, &v))
@@ -957,7 +962,7 @@ int git_config_maybe_bool(const char *name, const char *value)
 
 int git_config_bool_or_int(const char *name, const char *value, int *is_bool)
 {
-	int v = git_parse_maybe_bool(value);
+	int v = git_parse_maybe_bool_text(value);
 	if (0 <= v) {
 		*is_bool = 1;
 		return v;
-- 
2.14.0.5.g0f7b1ed27
Previous: Junio C HamanoNext: Martin Ågren
Message 5 of 13 in “clean up parsing of maybe_bool”
  1. 0/6 clean up parsing of maybe_boolMartin Ågren, Aug 7, 2017
  2. 1/6 Doc/git-{push,send-pack}: correct --sign= to --signed=Martin Ågren, Aug 7, 2017
  3. 2/6 t5334: document that git push --signed=1 does not workMartin Ågren, Aug 7, 2017
  4. Junio C HamanoAug 7, 2017
  5. 3/6 config: introduce git_parse_maybe_bool_textMartin Ågren, Aug 7, 2017
  6. 4/6 config: make git_{config,parse}_maybe_bool equivalentMartin Ågren, Aug 7, 2017
  7. 5/6 treewide: deprecate git_config_maybe_bool, use git_parse_maybe_boolMartin Ågren, Aug 7, 2017
  8. 6/6 parse_decoration_style: drop unused argument `var`Martin Ågren, Aug 7, 2017
  9. Stefan BellerAug 7, 2017
  10. Junio C HamanoAug 7, 2017
  11. Martin ÅgrenAug 8, 2017
  12. Junio C HamanoAug 8, 2017
  13. Martin ÅgrenAug 8, 2017

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.