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

[PATCH 2/4] git_config: don't peek at global config_parameters

From
Jeff King <peff@peff.net>
Date
May 24, 2011, 22:49 UTC
Message-ID
<20110524224945.GB24527@sigill.intra.peff.net>
In-Reply-To
<20110524224903.GA16265@sigill.intra.peff.net>

The config_parameters list in config.c is an implementation detail of git_config_from_parameters; instead, that function should tell us whether it found anything.

Signed-off-by: Jeff King <peff@peff.net>
---
 config.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/config.c b/config.c
index 46aeb9c..fb88839 100644
--- a/config.c
+++ b/config.c
@@ -850,7 +850,7 @@ int git_config_from_parameters(config_fn_t fn, void *data)
 	for (ct = config_parameters; ct; ct = ct->next)
 		if (fn(ct->name, ct->value, data) < 0)
 			return -1;
-	return 0;
+	return config_parameters != NULL;
 }
 
 int git_config_early(config_fn_t fn, void *data, const char *repo_config)
@@ -882,9 +882,16 @@ int git_config_early(config_fn_t fn, void *data, const char *repo_config)
 		found += 1;
 	}
 
-	ret += git_config_from_parameters(fn, data);
-	if (config_parameters)
-		found += 1;
+	switch (git_config_from_parameters(fn, data)) {
+	case -1: /* error */
+		ret--;
+		break;
+	case 0: /* found nothing */
+		break;
+	default: /* found at least one item */
+		found++;
+		break;
+	}
 
 	return ret == 0 ? found : ret;
 }
-- 
1.7.4.5.7.g2e01
Previous: Jeff KingNext: Jeff King
Message 8 of 10 in “handle_options(): do not miscount how many arguments were used”
  1. handle_options(): do not miscount how many arguments were usedJunio C Hamano, May 24, 2011
  2. Allow built-ins to also use -c var=val via aliasJunio C Hamano, May 24, 2011
  3. Jeff KingMay 24, 2011
  4. Jeff KingMay 24, 2011
  5. Jeff KingMay 24, 2011
  6. Jeff KingMay 24, 2011
  7. 1/4 config: make environment parsing routines staticJeff King, May 24, 2011
  8. 2/4 git_config: don't peek at global config_parametersJeff King, May 24, 2011
  9. 3/4 config: always parse GIT_CONFIG_PARAMETERS during git_configJeff King, May 24, 2011
  10. 4/4 handle_options(): do not miscount how many arguments were usedJeff King, May 24, 2011

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.