summaryrefslogtreecommitdiff
path: root/asl/base/assert.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'asl/base/assert.cpp')
-rw-r--r--asl/base/assert.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/asl/base/assert.cpp b/asl/base/assert.cpp
index 2383e9e..c3e0c69 100644
--- a/asl/base/assert.cpp
+++ b/asl/base/assert.cpp
@@ -1,12 +1,18 @@
#include "asl/base/assert.hpp"
-// #include "asl/io/print.hpp"
+static asl::AssertFailureHandler* s_handler = nullptr;
+static void* s_user = nullptr;
+
+void asl::set_assert_failure_handler(AssertFailureHandler handler, void* user)
+{
+ s_handler = handler;
+ s_user = user;
+}
void asl::report_assert_failure(const char* msg, const source_location& sl)
{
- // @Todo(org)
- // eprint("------------------------------------------------------------\n");
- // eprint("Assertion failure at {}, line {}:\n", sl.file, sl.line);
- // eprint("{}\n", msg);
- // eprint("------------------------------------------------------------\n");
+ if (s_handler != nullptr)
+ {
+ s_handler(msg, sl, s_user);
+ }
}