about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark Lodato <lodatom@gmail.com>2010-09-04 11:09:57 -0400
committerMark Lodato <lodatom@gmail.com>2010-09-04 11:11:40 -0400
commita4c58d92bfee0cf2e35ab1c5e828a6d790108a69 (patch)
tree4b6073081a04216525facaf06db956b4a08dffac
parentMerge branch 'stable' (diff)
downloadcgit-pink-a4c58d92bfee0cf2e35ab1c5e828a6d790108a69.tar.gz
cgit-pink-a4c58d92bfee0cf2e35ab1c5e828a6d790108a69.zip
use __attribute__ to catch printf format mistakes
Use "__attribute__((format (printf,N,M)))", as is done in git, do catch
mistakes in printf-style format strings.

Signed-off-by: Mark Lodato <lodatom@gmail.com>
-rw-r--r--cache.h1
-rw-r--r--cgit.h1
-rw-r--r--html.h3
3 files changed, 5 insertions, 0 deletions
diff --git a/cache.h b/cache.h
index ac9276b..5cfdb4f 100644
--- a/cache.h
+++ b/cache.h
@@ -30,6 +30,7 @@ extern int cache_process(int size, const char *path, const char *key, int ttl,
 extern int cache_ls(const char *path);
 
 /* Print a message to stdout */
+__attribute__((format (printf,1,2)))
 extern void cache_log(const char *format, ...);
 
 extern unsigned long hash_str(const char *str);
diff --git a/cgit.h b/cgit.h
index 4090cd4..8f84281 100644
--- a/cgit.h
+++ b/cgit.h
@@ -293,6 +293,7 @@ extern void cgit_diff_tree(const unsigned char *old_sha1,
 
 extern void cgit_diff_commit(struct commit *commit, filepair_fn fn);
 
+__attribute__((format (printf,1,2)))
 extern char *fmt(const char *format,...);
 
 extern struct commitinfo *cgit_parse_commit(struct commit *commit);
diff --git a/html.h b/html.h
index 16d55ec..1135fb8 100644
--- a/html.h
+++ b/html.h
@@ -5,7 +5,10 @@ extern int htmlfd;
 
 extern void html_raw(const char *txt, size_t size);
 extern void html(const char *txt);
+
+__attribute__((format (printf,1,2)))
 extern void htmlf(const char *format,...);
+
 extern void html_status(int code, const char *msg, int more_headers);
 extern void html_txt(const char *txt);
 extern void html_ntxt(int len, const char *txt);