drawterm/libc/sysfatal.c

31 lines
479 B
C

#include <u.h>
#include <libc.h>
static void
_sysfatalimpl(char *fmt, va_list arg)
{
char buf[1024];
vseprint(buf, buf+sizeof(buf), fmt, arg);
if(argv0)
fprint(2, "%s: %s\n", argv0, buf);
else
fprint(2, "%s\n", buf);
#undef write
write(2, buf, strlen(buf));
write(2, "\n", 1);
panic("sysfatal");
}
void (*_sysfatal)(char *fmt, va_list arg) = _sysfatalimpl;
void
sysfatal(char *fmt, ...)
{
va_list arg;
va_start(arg, fmt);
(*_sysfatal)(fmt, arg);
va_end(arg);
}