ref: 673e3de9a2f59dbac9a845b2f28363b2bb9f0041
dir: /libc/sysfatal.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); }