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

[PATCH 09/21] mark "pointless" data pointers in callbacks

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

Both the object_array_filter() and trie_find() functions use callback functions that let the caller specify which elements match. These callbacks take a void pointer in case the caller wants to pass in extra data. But in each case, the single user of these functions just passes NULL, and the callback ignores the extra pointer.

We could just remove these unused parameters from the callback interface entirely. But it's good practice to provide such a pointer, as it guides future callers of the function in the right direction (rather than tempting them to access global data). Plus it's consistent with other generic callback interfaces.

So let's instead annotate the unused parameters, in order to silence the compiler's -Wunused-parameter warning.

Signed-off-by: Jeff King <peff@peff.net>
---
 path.c     | 3 ++-
 revision.c | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/path.c b/path.c
index 492e17ad12..0b641233e3 100644
--- a/path.c
+++ b/path.c
@@ -347,7 +347,8 @@ static void init_common_trie(void)
  * Helper function for update_common_dir: returns 1 if the dir
  * prefix is common.
  */
-static int check_common(const char *unmatched, void *value, void *baton)
+static int check_common(const char *unmatched, void *value,
+			void *baton UNUSED)
 {
 	struct common_dir *dir = value;
 
diff --git a/revision.c b/revision.c
index 21f5f572c2..4a24fc3fcd 100644
--- a/revision.c
+++ b/revision.c
@@ -4159,7 +4159,7 @@ static struct commit *get_revision_1(struct rev_info *revs)
  * Return true for entries that have not yet been shown.  (This is an
  * object_array_each_func_t.)
  */
-static int entry_unshown(struct object_array_entry *entry, void *cb_data_unused)
+static int entry_unshown(struct object_array_entry *entry, void *cb_data UNUSED)
 {
 	return !(entry->item->flags & SHOWN);
 }
-- 
2.39.2.981.g6157336f25
Previous: Jeff KingNext: Jeff King
Message 12 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.