aboutsummaryrefslogtreecommitdiff
path: root/lib/portability.h
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-03-01 16:16:50 -0600
committerElliott Hughes <enh@google.com>2015-03-01 16:16:50 -0600
commit1be99e695059ba7dbe44765f4b477f7e173e98d1 (patch)
treec0802988fd22e0a442d00342ebd5c9cd3654d30e /lib/portability.h
parent4bbec1e41580c9200cae03c9549fb032596b2b30 (diff)
downloadtoybox-1be99e695059ba7dbe44765f4b477f7e173e98d1.tar.gz
let the compiler check format strings
i'll be AFK for a week, so here's the patch i've been using this evening to find other format string mistakes. BSD uses __printflike and takes two arguments instead of hard-coding (1,2), but i figured that as long as you don't need the generality you'd prefer not to have it. and it's easy enough to retrofit if we ever do have a formatting function that takes other arguments.
Diffstat (limited to 'lib/portability.h')
-rw-r--r--lib/portability.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/portability.h b/lib/portability.h
index 70e33bf6..809f376c 100644
--- a/lib/portability.h
+++ b/lib/portability.h
@@ -11,8 +11,10 @@
#ifdef __GNUC__
#define noreturn __attribute__((noreturn))
+#define printf_format __attribute__((format(printf, 1, 2)))
#else
#define noreturn
+#define printf_format
#endif
// Always use long file support.