void Fatal(const char *loc, const char *fmt, ...) { va_list ap; va_start(ap, fmt); vsprintf(buf, fmt, ap); va_end(ap); Log(buf, loc, cFatal); Display(buf, loc, cFatal); AbortHandler(cFatal); }
void System_abort(const char *e, ...) { va_list ap; va_start(ap, e); if (AbortHandler) { char *t = Str_vcat(e, ap); AbortHandler(t); FREE(t); } else { vfprintf(stderr, e, ap); if (ZBDEBUG) abort(); else exit(1); } va_end(ap); }