diff options
Diffstat (limited to 'asl/base/assert.cpp')
-rw-r--r-- | asl/base/assert.cpp | 18 |
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); + } } |