aboutsummaryrefslogtreecommitdiff
path: root/stdlib
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-03-09 17:30:22 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-03-09 17:30:22 -0400
commit6abd4e80244a7fa73a7213101b1d61e4df1b6689 (patch)
treea15391b7e34ac4fdafda47318bc9650e2f69fa45 /stdlib
parenta24e521fa7e793af3f4056c65e5b89bdb74ff492 (diff)
Add fail_text() so there isn't a hacky/broken fail() with promotion to
CString
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/stdlib.c5
-rw-r--r--stdlib/stdlib.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/stdlib/stdlib.c b/stdlib/stdlib.c
index a2c08ff0..d48255b7 100644
--- a/stdlib/stdlib.c
+++ b/stdlib/stdlib.c
@@ -531,6 +531,11 @@ public _Noreturn void fail(const char *fmt, ...)
_exit(1);
}
+public _Noreturn void fail_text(Text_t message)
+{
+ fail("%k", &message);
+}
+
__attribute__((format(printf, 4, 5)))
public _Noreturn void fail_source(const char *filename, int64_t start, int64_t end, const char *fmt, ...)
{
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index 7c9bd7e1..1625dd88 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -25,6 +25,7 @@ void _tomo_parse_args(int argc, char *argv[], Text_t usage, Text_t help, int spe
_tomo_parse_args(argc, argv, usage, help, sizeof((cli_arg_t[]){__VA_ARGS__})/sizeof(cli_arg_t), (cli_arg_t[]){__VA_ARGS__})
__attribute__((format(printf, 1, 2)))
_Noreturn void fail(const char *fmt, ...);
+_Noreturn void fail_text(Text_t message);
__attribute__((format(printf, 4, 5)))
_Noreturn void fail_source(const char *filename, int64_t start, int64_t end, const char *fmt, ...);
Text_t builtin_last_err();