utils: add a STATIC_ASSERT macro It'd be nicer to use C11's static_assert(), but it's easier to roll our own C99 version using a trick I saw in xv6. Signed-off-by: Ran Benita <ran234@gmail.com>
diff --git a/src/utils.h b/src/utils.h
index 51d690e..508435d 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -40,6 +40,10 @@
*/
#define UNCONSTIFY(const_ptr) ((void *) (uintptr_t) (const_ptr))
+#define STATIC_ASSERT(expr, message) do { \
+ switch (0) { case 0: case (expr): ; } \
+} while (0)
+
static inline bool
streq(const char *s1, const char *s2)
{