summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/utils.h b/utils.h
index 99b1c0d..3918cac 100644
--- a/utils.h
+++ b/utils.h
@@ -5,6 +5,17 @@
#include <libubox/avl.h>
#include <libubox/blobmsg.h>
+#ifndef __OPTIMIZE__
+#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
+#else
+extern int __build_bug_on_failed;
+#define BUILD_BUG_ON(condition) \
+ do { \
+ ((void)sizeof(char[1 - 2*!!(condition)])); \
+ if (condition) __build_bug_on_failed = 1; \
+ } while(0)
+#endif
+
static inline bool blobmsg_get_bool_default(struct blob_attr *attr, bool val)
{
if (!attr)