From a5e153d8558a43fbdc78f5b9fdaff426feea4654 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Tue, 21 Jul 2026 20:56:52 -0400 Subject: pit: Backtraces --- pit/src/runtime.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'pit/src/runtime.c') diff --git a/pit/src/runtime.c b/pit/src/runtime.c index 1e4309e..b8ac178 100644 --- a/pit/src/runtime.c +++ b/pit/src/runtime.c @@ -42,6 +42,7 @@ pit_runtime *pit_runtime_new(u8 *buf, i64 len) { ret->expr_stack = pit_vec_new(pit_value)(pit_arena_alloc_back(a, stack_size), stack_size); ret->result_stack = pit_vec_new(pit_value)(pit_arena_alloc_back(a, stack_size), stack_size); ret->traversal = pit_vec_new(pit_traversal_entry)(pit_arena_alloc_back(a, stack_size), stack_size); + ret->backtrace = pit_vec_new(pit_backtrace_entry)(pit_arena_alloc_back(a, stack_size), stack_size); ret->saved_bindings = pit_vec_new(pit_value)(pit_arena_alloc_back(a, stack_size), stack_size); ret->frozen_values = 0; ret->frozen_symtab = 0; @@ -76,7 +77,7 @@ void pit_error(pit_runtime *rt, char *format, ...) { char buf[1024] = {0}; va_list vargs; va_start(vargs, format); - pit_libc_string_snprintf(buf, sizeof(buf), format, vargs); + pit_libc_string_vsnprintf(buf, sizeof(buf), format, vargs); va_end(vargs); rt->error = PIT_T; /* we set the error now to prevent infinite recursion */ rt->error = pit_value_bytes_new_cstr(rt, buf); /* in case this errs also */ -- cgit v1.3.1