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

[PATCH 06/21] http-backend: mark argc/argv unused

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

We can't drop them because it's cmd_main(), which has a set prototype, but the CGI interface does not do anything with such arguments.

Arguably we could detect them and complain. It's possible this could detect misconfigurations or other mistakes, but:

  - as far as I can tell common webservers like apache do not have any
    mechanism to pass arguments to a CGI at all, so this isn't a mistake
    one could even make
  - it's possible that some obscure webserver might pass arguments, and
    we'd break that case. I have no idea if such a webserver exists; the
    CGI standard says only "The script is invoked in a system-defined
    manner".

So probably it would not hurt to detect them, but it also is unlikely to help anyone. Let's just mark them as unused, which retains the current behavior but silences -Wunused-parameter.

Signed-off-by: Jeff King <peff@peff.net>
---
 http-backend.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/http-backend.c b/http-backend.c
index 8ab58e55f8..fc3ab97c0f 100644
--- a/http-backend.c
+++ b/http-backend.c
@@ -736,7 +736,7 @@ static int bad_request(struct strbuf *hdr, const struct service_cmd *c)
 	return 0;
 }
 
-int cmd_main(int argc, const char **argv)
+int cmd_main(int argc UNUSED, const char **argv UNUSED)
 {
 	char *method = getenv("REQUEST_METHOD");
 	const char *proto_header;
-- 
2.39.2.981.g6157336f25
Previous: Jeff KingNext: Jeff King
Message 9 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.