summaryrefslogtreecommitdiff
path: root/src/stdlib/abort_handler_s.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stdlib/abort_handler_s.c')
-rw-r--r--src/stdlib/abort_handler_s.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/stdlib/abort_handler_s.c b/src/stdlib/abort_handler_s.c
index c35148a7..f6471151 100644
--- a/src/stdlib/abort_handler_s.c
+++ b/src/stdlib/abort_handler_s.c
@@ -4,6 +4,7 @@
//#include <errno.h>
#include "errno/errno_t.h"
#include "_stdlib.h"
+#include "_assert.h"
void abort_handler_s(const char * restrict msg, void * restrict ptr, errno_t error)
{
@@ -11,8 +12,15 @@ void abort_handler_s(const char * restrict msg, void * restrict ptr, errno_t err
puts(msg);
if (ci) {
- printf("In call to %s\n", ci->func);
- printf("value %x\n", ci->value);
+ printf("In call to %s()", ci->func);
+ if (__checked_call.file) {
+ printf(" (");
+ if (__checked_call.func) {
+ printf("in %s(), ", __checked_call.func);
+ }
+ printf("at %s:%llu)", __checked_call.file, __checked_call.line);
+ }
+ printf(", value %x\n", ci->value);
}
if (error != 0) {
printf("Provided error: %s (%d)\n", strerror(error), error);