diff options
author | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2025-02-20 23:13:37 +0100 |
---|---|---|
committer | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2025-02-20 23:13:37 +0100 |
commit | 409ef997e2ff99b2bbea89ea61d10fc8e26dac96 (patch) | |
tree | 103225ce6af074120731ce9bb3c16a3778687d6c /asl/base/assert.cpp | |
parent | 6fd19d6dfe2c9780ce268de4205300ede4a16b89 (diff) |
Add customizable assert failure handler
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); + } } |