summaryrefslogtreecommitdiff
path: root/src/stdlib/abort_handler_s.c
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2024-01-30 14:57:46 -0500
committerJakob Kaivo <jkk@ung.org>2024-01-30 14:57:46 -0500
commitcc6e7378d3f5473137e0c46d39173e6f60dcefda (patch)
tree4cd2883ad16fd594b7777b6f3821d5b9177af5c4 /src/stdlib/abort_handler_s.c
parent000a7c045c98c30aac86db93f8c9c978e5ca8c59 (diff)
update standards and safety checks
Diffstat (limited to 'src/stdlib/abort_handler_s.c')
-rw-r--r--src/stdlib/abort_handler_s.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/stdlib/abort_handler_s.c b/src/stdlib/abort_handler_s.c
index 145c9e6d..4b1e3f03 100644
--- a/src/stdlib/abort_handler_s.c
+++ b/src/stdlib/abort_handler_s.c
@@ -4,15 +4,20 @@
//#include <errno.h>
#include "errno/errno_t.h"
#include "_stdlib.h"
-#include "_safety.h"
void abort_handler_s(const char * restrict msg, void * restrict ptr, errno_t error)
{
+ SIGNAL_SAFE(0);
+
struct __constraint_info *ci = ptr;
puts(msg);
if (ci) {
- printf("In call to %s()", ci->func);
+ if (ci->signal != 0) {
+ /* TODO: map numbers to names as well */
+ printf("While handling signal %d: ", ci->signal);
+ }
+ printf("Function %s()", ci->func);
if (__checked_call.file) {
printf(" (");
if (__checked_call.func) {