1 #include <u.h> 2 #include <libc.h> 3 4 static void 5 _sysfatalimpl(char *fmt, va_list arg) 6 { 7 char buf[1024]; 8 9 vseprint(buf, buf+sizeof(buf), fmt, arg); 10 if(argv0) 11 fprint(2, "%s: %s\n", argv0, buf); 12 else 13 fprint(2, "%s\n", buf); 14 #undef write 15 write(2, buf, strlen(buf)); 16 write(2, "\n", 1); 17 panic("sysfatal"); 18 } 19 20 void (*_sysfatal)(char *fmt, va_list arg) = _sysfatalimpl; 21 22 void 23 sysfatal(char *fmt, ...) 24 { 25 va_list arg; 26 27 va_start(arg, fmt); 28 (*_sysfatal)(fmt, arg); 29 va_end(arg); 30 } 31