summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2012-10-02 00:32:59 -0700
committerStefan Reinauer <stefan.reinauer@coreboot.org>2012-11-07 18:36:14 +0100
commite88e1ab864c636c020e124846f908439c1080d16 (patch)
treed32e6509ad7629e3ace35125ea00b8f73bd9f810
parent5c27e82073ec6bb96a672b18c2c66773ae887ebf (diff)
downloadcoreboot-e88e1ab864c636c020e124846f908439c1080d16.tar.xz
libpayload: Add the format attribute to functions in stdio.h.
gcc recognizes the format function attribute which tells the compiler to expect the format string to look a certain way and for its arguments to be of appropriate types. This helps to prevent errors like the one that was recently fixed in libpayload's assert. Change-Id: I284ae8bff32f72cfd2d1a250d126c729b38a5730 Signed-off-by: Gabe Black <gabeblack@google.com> Reviewed-on: http://review.coreboot.org/1731 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
-rw-r--r--payloads/libpayload/include/stdio.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/payloads/libpayload/include/stdio.h b/payloads/libpayload/include/stdio.h
index 924d17e849..d2db640118 100644
--- a/payloads/libpayload/include/stdio.h
+++ b/payloads/libpayload/include/stdio.h
@@ -42,10 +42,14 @@ extern FILE *stdout, *stdin, *stderr;
* @defgroup printf Print functions
* @{
*/
-int snprintf(char *str, size_t size, const char *fmt, ...);
-int sprintf(char *str, const char *fmt, ...);
-int printf(const char *fmt, ...);
-int fprintf(FILE *file, const char *fmt, ...);
+int snprintf(char *str, size_t size, const char *fmt, ...)
+ __attribute__ ((format (printf, 3, 4)));
+int sprintf(char *str, const char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
+int printf(const char *fmt, ...)
+ __attribute__ ((format (printf, 1, 2)));
+int fprintf(FILE *file, const char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
/** @} */
void perror(const char *s);