aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/bfc/bfc_assert.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/bfc/bfc_assert.h')
-rw-r--r--Src/Wasabi/bfc/bfc_assert.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/Src/Wasabi/bfc/bfc_assert.h b/Src/Wasabi/bfc/bfc_assert.h
new file mode 100644
index 00000000..d58bc7ff
--- /dev/null
+++ b/Src/Wasabi/bfc/bfc_assert.h
@@ -0,0 +1,39 @@
+#ifndef _ASSERT_H
+#define _ASSERT_H
+
+#include <bfc/wasabi_std.h>
+
+#ifdef CPLUSPLUS
+extern "C" {
+#endif
+
+COMEXP void _assert_handler(const char *reason, const char *file, int line);
+COMEXP void _assert_handler_str(const char *string, const char *reason, const char *file, int line);
+
+#ifdef CPLUSPLUS
+}
+#endif
+
+#ifdef ASSERT
+#undef ASSERT
+#endif
+
+// benski> added june 7 2007.. somewhat of a hack - don't want to enable assert's for final builds
+#include "../../Winamp/buildtype.h"
+
+#if defined(_DEBUG) /*|| defined(INTERNAL) */|| defined(BETA)
+#define ASSERTS_ENABLED
+#endif
+
+#ifdef ASSERTS_ENABLED
+
+ #define ASSERT(x) ((x) ? void() : _assert_handler(#x, __FILE__, __LINE__))
+ #define ASSERTPR(x, str) ((x) ? void() : _assert_handler_str((str), #x, __FILE__, __LINE__))
+ #define ASSERTALWAYS(str) _assert_handler_str((str), 0, __FILE__, __LINE__)
+#else
+ #define ASSERT(x) ;
+ #define ASSERTPR(x,y) ;
+ #define ASSERTALWAYS ;
+#endif
+
+#endif