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

[PATCH 4/4] __attribute__: add a few missing format attributes

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 8, 2024, 18:37 UTC
Message-ID
<20240608183747.2084294-5-gitster@pobox.com>
In-Reply-To
<20240608183747.2084294-1-gitster@pobox.com>

A public function mem_pool_strfmt() takes printf like parameters, but is not given an attribute as such. Also a few file-scope static functions were missing their format attribute.

Add them.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 mem-pool.h  | 1 +
 scalar.c    | 1 +
 wt-status.c | 1 +
 3 files changed, 3 insertions(+)
diff --git a/mem-pool.h b/mem-pool.h
index d1c66413ec..321d86a63c 100644
--- a/mem-pool.h
+++ b/mem-pool.h
@@ -50,6 +50,7 @@ char *mem_pool_strndup(struct mem_pool *pool, const char *str, size_t len);
 /*
  * Allocate memory from the memory pool and format a string into it.
  */
+__attribute__((format (printf, 2, 3)))
 char *mem_pool_strfmt(struct mem_pool *pool, const char *fmt, ...);
 
 /*
diff --git a/scalar.c b/scalar.c
index 62dd77aaec..a8318078c9 100644
--- a/scalar.c
+++ b/scalar.c
@@ -289,6 +289,7 @@ static int unregister_dir(void)
 }
 
 /* printf-style interface, expects `<key>=<value>` argument */
+__attribute__((format (printf, 1, 2)))
 static int set_config(const char *fmt, ...)
 {
 	struct strbuf buf = STRBUF_INIT;
diff --git a/wt-status.c b/wt-status.c
index ff4be071ca..c4dac01999 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -126,6 +126,7 @@ void status_printf(struct wt_status *s, const char *color,
 	va_end(ap);
 }
 
+__attribute__((format (printf, 3, 4)))
 static void status_printf_more(struct wt_status *s, const char *color,
 			       const char *fmt, ...)
 {
-- 
2.45.2-445-g1b76f06508
Previous: Junio C HamanoNext: Jeff King
Message 7 of 9 in “varargs functions with __attributes__(())”
  1. 0/4 varargs functions with __attributes__(())Junio C Hamano, Jun 8, 2024
  2. 1/4 __attribute__: trace2_region_enter_printf() is like "printf"Junio C Hamano, Jun 8, 2024
  3. Patrick SteinhardtJun 10, 2024
  4. Junio C HamanoJun 10, 2024
  5. 2/4 __attribute__: remove redundant attribute declaration for git_die_config()Junio C Hamano, Jun 8, 2024
  6. 3/4 __attribute__: mark some functions with LAST_ARG_MUST_BE_NULLJunio C Hamano, Jun 8, 2024
  7. 4/4 __attribute__: add a few missing format attributesJunio C Hamano, Jun 8, 2024
  8. Jeff KingJun 11, 2024
  9. Junio C HamanoJun 11, 2024

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.