diff options
Diffstat (limited to 'src/stdlib/abort_handler_s.c')
-rw-r--r-- | src/stdlib/abort_handler_s.c | 12 |
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); |