summaryrefslogtreecommitdiffstats
path: root/unwind.c
diff options
context:
space:
mode:
Diffstat (limited to 'unwind.c')
-rw-r--r--unwind.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/unwind.c b/unwind.c
index ac99665a..ac4bb79d 100644
--- a/unwind.c
+++ b/unwind.c
@@ -295,6 +295,14 @@ val uw_throwf(val sym, val fmt, ...)
abort();
}
+val uw_throwfv(val sym, val fmt, val args)
+{
+ val stream = make_string_output_stream();
+ (void) formatv(stream, fmt, args);
+ uw_throw(sym, get_string_from_stream(stream));
+ abort();
+}
+
val uw_errorf(val fmt, ...)
{
va_list vl;
@@ -308,6 +316,14 @@ val uw_errorf(val fmt, ...)
abort();
}
+val uw_errorfv(val fmt, val args)
+{
+ val stream = make_string_output_stream();
+ (void) formatv(stream, fmt, args);
+ uw_throw(error_s, get_string_from_stream(stream));
+ abort();
+}
+
val type_mismatch(val fmt, ...)
{
va_list vl;