summaryrefslogtreecommitdiff
path: root/util.h
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2017-02-28 10:09:45 +1100
committerDavid Gibson <david@gibson.dropbear.id.au>2017-02-28 10:09:45 +1100
commit34a9886a177f9e22930cec7eccda88df4a9f4838 (patch)
treeef2a5d3aaf066626dd2022e54d72637b28aa2e63 /util.h
parentf72508e2b6ca16016862b937ca1584b282fa637c (diff)
downloaddevice-tree-compiler-34a9886a177f9e22930cec7eccda88df4a9f4838.tar.gz
Add printf format attributes
When compiling with gcc, we already include the attribute on check_msg() to give compiler warnings about mismatches between printf() like format strings and the corresponding arguments. This patch adds similar attributes for lexical_error() and die(). Suggested-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'util.h')
-rw-r--r--util.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/util.h b/util.h
index 35b2bda..bc3d223 100644
--- a/util.h
+++ b/util.h
@@ -27,7 +27,13 @@
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
-static inline void __attribute__((noreturn)) die(const char *str, ...)
+#ifdef __GNUC__
+static inline void
+__attribute__((noreturn)) __attribute__((format (printf, 1, 2)))
+die(const char *str, ...)
+#else
+static inline void die(const char *str, ...)
+#endif
{
va_list ap;
@@ -59,7 +65,13 @@ static inline void *xrealloc(void *p, size_t len)
}
extern char *xstrdup(const char *s);
+
+#ifdef __GNUC__
+extern int __attribute__((format (printf, 2, 3)))
+xasprintf(char **strp, const char *fmt, ...);
+#else
extern int xasprintf(char **strp, const char *fmt, ...);
+#endif
extern char *join_path(const char *path, const char *name);
/**