void dkc_compile_error(int line_number, CompileError id, ...) { va_list ap; VWString message; self_check(); va_start(ap, id); dkc_vwstr_clear(&message); format_message(line_number, &dkc_error_message_format[id], &message, ap); fprintf(stderr, "%3d:", line_number); dvm_print_wcs_ln(stderr, message.string); va_end(ap); exit(1); }
void dvm_error(DVM_Executable *exe, Function *func, int pc, RuntimeError id, ...) { va_list ap; VString message; int line_number; self_check(); va_start(ap, id); dvm_vstr_clear(&message); format_message(&dvm_error_message_format[id], &message, ap); if (pc != NO_LINE_NUMBER_PC) { line_number = conv_pc_to_line_number(exe, func, pc); fprintf(stderr, "%3d:", line_number); } dvm_print_wcs_ln(stderr, message.string); va_end(ap); exit(1); }