aboutsummaryrefslogtreecommitdiff
path: root/lib/die.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/die.c')
-rw-r--r--lib/die.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/die.c b/lib/die.c
new file mode 100644
index 0000000..f581951
--- /dev/null
+++ b/lib/die.c
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+
+#include "impl.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#undef hkvs_die
+void hkvs_die(const char *msg) {
+ hkvs_die_ext(NULL, NULL, 0, msg);
+}
+
+void hkvs_die_ext(const char *func, const char *file, int line, const char *msg) {
+ (void)file;
+ if(func) {
+ fprintf(stderr, "Internal error: [%s:%d] %s\n", func, line, msg);
+ } else {
+ fprintf(stderr, "Internal error: %s\n", msg);
+ }
+ abort();
+}