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

[PATCH 04/21] serve: mark unused parameters in virtual functions

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

Each v2 "serve" action has a virtual function for advertising and implementing the command. A few of these are so trivial that they don't need to look at their parameters, especially the "repository" parameter. We can mark them so that -Wunused-parameter doesn't complain.

Note that upload_pack_v2() probably _should_ be using its repository pointer. But teaching the functions it calls to do so is non-trivial. Even using it for something as simple as reading config is tricky, both because it shares code with the v1 upload pack, and because the git_protected_config() mechanism it uses does not have a repo-specific interface. So we'll just annotate it for now, and cleaning it up can be part of the larger work to drop references to the_repository.

Signed-off-by: Jeff King <peff@peff.net>
---
 serve.c       | 10 +++++-----
 upload-pack.c |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/serve.c b/serve.c
index 2ccc03c16b..e08a980083 100644
--- a/serve.c
+++ b/serve.c
@@ -12,13 +12,13 @@
 static int advertise_sid = -1;
 static int client_hash_algo = GIT_HASH_SHA1;
 
-static int always_advertise(struct repository *r,
-			    struct strbuf *value)
+static int always_advertise(struct repository *r UNUSED,
+			    struct strbuf *value UNUSED)
 {
 	return 1;
 }
 
-static int agent_advertise(struct repository *r,
+static int agent_advertise(struct repository *r UNUSED,
 			   struct strbuf *value)
 {
 	if (value)
@@ -34,7 +34,7 @@ static int object_format_advertise(struct repository *r,
 	return 1;
 }
 
-static void object_format_receive(struct repository *r,
+static void object_format_receive(struct repository *r UNUSED,
 				  const char *algo_name)
 {
 	if (!algo_name)
@@ -57,7 +57,7 @@ static int session_id_advertise(struct repository *r, struct strbuf *value)
 	return 1;
 }
 
-static void session_id_receive(struct repository *r,
+static void session_id_receive(struct repository *r UNUSED,
 			       const char *client_sid)
 {
 	if (!client_sid)
diff --git a/upload-pack.c b/upload-pack.c
index bcb702a5ba..f6f4da0fef 100644
--- a/upload-pack.c
+++ b/upload-pack.c
@@ -1699,7 +1699,7 @@ enum fetch_state {
 	FETCH_DONE,
 };
 
-int upload_pack_v2(struct repository *r, struct packet_reader *request)
+int upload_pack_v2(struct repository *r UNUSED, struct packet_reader *request)
 {
 	enum fetch_state state = FETCH_PROCESS_ARGS;
 	struct upload_pack_data data;
-- 
2.39.2.981.g6157336f25
Previous: Junio C HamanoNext: Jeff King
Message 7 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.