summaryrefslogtreecommitdiff
path: root/src/common/Debugging/Errors.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/Debugging/Errors.cpp')
-rw-r--r--src/common/Debugging/Errors.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/common/Debugging/Errors.cpp b/src/common/Debugging/Errors.cpp
index a862430bed..be076c1409 100644
--- a/src/common/Debugging/Errors.cpp
+++ b/src/common/Debugging/Errors.cpp
@@ -56,7 +56,6 @@ namespace
namespace acore
{
-
void Assert(char const* file, int line, char const* function, std::string const& debugInfo, char const* message)
{
std::string formattedMessage = acore::StringFormat("\n%s:%i in %s ASSERTION FAILED:\n %s\n", file, line, function, message) + debugInfo + '\n';
@@ -116,6 +115,20 @@ namespace acore
Crash(formattedMessage.c_str());
}
+ void Abort(char const* file, int line, char const* function, char const* message, ...)
+ {
+ va_list args;
+ va_start(args, message);
+
+ std::string formattedMessage = StringFormat("\n%s:%i in %s ABORTED:\n", file, line, function) + FormatAssertionMessage(message, args) + '\n';
+ va_end(args);
+
+ fprintf(stderr, "%s", formattedMessage.c_str());
+ fflush(stderr);
+
+ Crash(formattedMessage.c_str());
+ }
+
void AbortHandler(int sigval)
{
// nothing useful to log here, no way to pass args