aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/bfc/bfc_assert.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Wasabi/bfc/bfc_assert.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
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