summaryrefslogtreecommitdiff
path: root/libddekit/include/ddekit/assert.h
diff options
context:
space:
mode:
Diffstat (limited to 'libddekit/include/ddekit/assert.h')
-rw-r--r--libddekit/include/ddekit/assert.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/libddekit/include/ddekit/assert.h b/libddekit/include/ddekit/assert.h
new file mode 100644
index 00000000..5d572b49
--- /dev/null
+++ b/libddekit/include/ddekit/assert.h
@@ -0,0 +1,23 @@
+#ifndef _ddekit_assert_h
+#define _ddekit_assert_h
+
+#include <l4/dde/ddekit/printf.h>
+#include <l4/dde/ddekit/panic.h>
+
+/** \file ddekit/assert.h */
+
+/** Assert that an expression is true and panic if not.
+ * \ingroup DDEKit_util
+ */
+#define Assert(expr) do \
+ { \
+ if (!(expr)) { \
+ ddekit_print("\033[31;1mDDE: Assertion failed: "#expr"\033[0m\n"); \
+ ddekit_printf(" File: %s:%d\n",__FILE__,__LINE__); \
+ ddekit_printf(" Function: %s()\n", __FUNCTION__); \
+ ddekit_panic("Assertion failed."); \
+ }} while (0);
+
+#endif
+
+#define assert Assert