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

[PATCH 05/21] object-name: mark unused parameters in disambiguate callbacks

From
Jeff King <peff@peff.net>
Date
Feb 24, 2023, 06:38 UTC
Message-ID
<Y/hbZqVZhRyIlFTk@coredump.intra.peff.net>
In-Reply-To
<Y/habYJxDRJQg/kJ@coredump.intra.peff.net>

The object-name disambiguation code triggers a callback for each possible object id we find. This is really used for two purposes:

  - "hint" functions like disambiguate_commit_only report back on
    whether the value is usable
  - iterator functions like repo_for_each_abbrev() use it to collect
    and report matching names.

Compiling with -Wunused-parameter generates several warnings, but they're distinct for each type. The "hint" functions never look at the void cb_data pointer; they only care whether the oid matches our hint. The iterator functions never look at the "struct repository" parameter; they're just reporting back the oids they see, and always return 0.

So arguably these could be two separate interfaces:
  int (*hint)(struct repository *r, const struct object_id *oid);
  void (*iter)(const struct object_id *oid, void *cb_data);

But doing so would complicate the disambiguation code, which now has to accept and call the two different types. Since we can easily squelch the compiler warnings by annotating the functions, let's just do that.

Signed-off-by: Jeff King <peff@peff.net>
---
 object-name.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/object-name.c b/object-name.c
index 2dd1a0f56e..7d1986ad48 100644
--- a/object-name.c
+++ b/object-name.c
@@ -223,15 +223,15 @@ static int finish_object_disambiguation(struct disambiguate_state *ds,
 
 static int disambiguate_commit_only(struct repository *r,
 				    const struct object_id *oid,
-				    void *cb_data_unused)
+				    void *cb_data UNUSED)
 {
 	int kind = oid_object_info(r, oid, NULL);
 	return kind == OBJ_COMMIT;
 }
 
 static int disambiguate_committish_only(struct repository *r,
 					const struct object_id *oid,
-					void *cb_data_unused)
+					void *cb_data UNUSED)
 {
 	struct object *obj;
 	int kind;
@@ -251,15 +251,15 @@ static int disambiguate_committish_only(struct repository *r,
 
 static int disambiguate_tree_only(struct repository *r,
 				  const struct object_id *oid,
-				  void *cb_data_unused)
+				  void *cb_data UNUSED)
 {
 	int kind = oid_object_info(r, oid, NULL);
 	return kind == OBJ_TREE;
 }
 
 static int disambiguate_treeish_only(struct repository *r,
 				     const struct object_id *oid,
-				     void *cb_data_unused)
+				     void *cb_data UNUSED)
 {
 	struct object *obj;
 	int kind;
@@ -279,7 +279,7 @@ static int disambiguate_treeish_only(struct repository *r,
 
 static int disambiguate_blob_only(struct repository *r,
 				  const struct object_id *oid,
-				  void *cb_data_unused)
+				  void *cb_data UNUSED)
 {
 	int kind = oid_object_info(r, oid, NULL);
 	return kind == OBJ_BLOB;
@@ -473,7 +473,7 @@ static int collect_ambiguous(const struct object_id *oid, void *data)
 	return 0;
 }
 
-static int repo_collect_ambiguous(struct repository *r,
+static int repo_collect_ambiguous(struct repository *r UNUSED,
 				  const struct object_id *oid,
 				  void *data)
 {
@@ -665,7 +665,7 @@ static int extend_abbrev_len(const struct object_id *oid, void *cb_data)
 	return 0;
 }
 
-static int repo_extend_abbrev_len(struct repository *r,
+static int repo_extend_abbrev_len(struct repository *r UNUSED,
 				  const struct object_id *oid,
 				  void *cb_data)
 {
-- 
2.39.2.981.g6157336f25
Previous: Jeff KingNext: Jeff King
Message 8 of 24 in “more -Wunused-parameter fixes”
  1. 0/21 more -Wunused-parameter fixesJeff King, Feb 24, 2023
  2. 01/21 ref-filter: drop unused atom parameter from get_worktree_path()Jeff King, Feb 24, 2023
  3. Junio C HamanoFeb 24, 2023
  4. 02/21 ls-refs: drop config cachingJeff King, Feb 24, 2023
  5. 03/21 serve: use repository pointer to get configJeff King, Feb 24, 2023
  6. Junio C HamanoFeb 24, 2023
  7. 04/21 serve: mark unused parameters in virtual functionsJeff King, Feb 24, 2023
  8. 05/21 object-name: mark unused parameters in disambiguate callbacksJeff King, Feb 24, 2023
  9. 06/21 http-backend: mark argc/argv unusedJeff King, Feb 24, 2023
  10. 07/21 http-backend: mark unused parameters in virtual functionsJeff King, Feb 24, 2023
  11. 08/21 ref-filter: mark unused callback parametersJeff King, Feb 24, 2023
  12. 09/21 mark "pointless" data pointers in callbacksJeff King, Feb 24, 2023
  13. 10/21 run-command: mark error routine parameters as unusedJeff King, Feb 24, 2023
  14. 11/21 mark unused parameters in signal handlersJeff King, Feb 24, 2023
  15. 12/21 list-objects: mark unused callback parametersJeff King, Feb 24, 2023
  16. 13/21 for_each_object: mark unused callback parametersJeff King, Feb 24, 2023
  17. 14/21 prio-queue: mark unused parameters in comparison functionsJeff King, Feb 24, 2023
  18. 15/21 notes: mark unused callback parametersJeff King, Feb 24, 2023
  19. 16/21 fetch-pack: mark unused parameter in callback functionJeff King, Feb 24, 2023
  20. 17/21 rewrite_parents(): mark unused callback parameterJeff King, Feb 24, 2023
  21. 18/21 for_each_commit_graft(): mark unused callback parameterJeff King, Feb 24, 2023
  22. 19/21 userformat_want_item(): mark unused parameterJeff King, Feb 24, 2023
  23. 20/21 run_processes_parallel: mark unused callback parametersJeff King, Feb 24, 2023
  24. 21/21 help: mark unused parameter in git_unknown_cmd_config()Jeff King, Feb 24, 2023

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.