wt-status: use "format" function attribute for status_printf
authorJeff King <peff@peff.net>
Wed, 10 Jul 2013 00:23:28 +0000 (20:23 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 10 Jul 2013 05:23:11 +0000 (22:23 -0700)
These functions could benefit from the added compile-time
safety of having the compiler check printf arguments.

Unfortunately, we also sometimes pass an empty format string,
which will cause false positives with -Wformat-zero-length.
In this case, that warning is wrong because our function is
not a no-op with an empty format: it may be printing
colorized output along with a trailing newline.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
wt-status.h
index 4121bc208db2fbe5e4eb00af10056a9d8c0bab40..fb7152e187a2fe7c080aab1d84b7fd2cbe6c47a1 100644 (file)
@@ -96,9 +96,9 @@ void wt_status_get_state(struct wt_status_state *state, int get_detached_from);
 void wt_shortstatus_print(struct wt_status *s);
 void wt_porcelain_print(struct wt_status *s);
 
-void status_printf_ln(struct wt_status *s, const char *color, const char *fmt, ...)
-       ;
-void status_printf(struct wt_status *s, const char *color, const char *fmt, ...)
-       ;
+__attribute__((format (printf, 3, 4)))
+void status_printf_ln(struct wt_status *s, const char *color, const char *fmt, ...);
+__attribute__((format (printf, 3, 4)))
+void status_printf(struct wt_status *s, const char *color, const char *fmt, ...);
 
 #endif /* STATUS_H */