static void iprintf(int indent, const char* fmt, ...) { va_list varargs; va_start(varargs, fmt); ivprintf(indent, fmt, varargs); va_end(varargs); }
int iprintf(const char *fmt, ...) { int ret; va_list ap; va_start(ap, fmt); ret = ivprintf(fmt, ap); va_end(ap); return ret; };
/* like panic, but don't */ void debug_warn(const char *file, int line, const char *fmt,...) { va_list ap; va_start(ap, fmt); iprintf("user warning at %s:%d: ", file, line); ivprintf(fmt, ap); iprintf("\n"); va_end(ap); }
/* * Panic is called on unresolvable fatal errors. * It prints "panic: <message>", then causes a breakpoint exception. */ void debug_panic(const char *file, int line, const char *fmt,...) { va_list ap; va_start(ap, fmt); // Print the panic message if (argv0) iprintf("%s: ", argv0); iprintf("user panic at %s:%d: ", file, line); ivprintf(fmt, ap); iprintf("\n"); exit(-1); while(1) ; }