1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#include <lib9.h> void (*_sysfatal)(char*, ...); void sysfatal(char *fmt, ...) { char buf[256]; va_list arg; va_start(arg, fmt); if(_sysfatal) (*_sysfatal)(fmt, arg); vseprint(buf, buf+sizeof buf, fmt, arg); va_end(arg); __fixargv0(); fprint(2, "%s: %s\n", argv0 ? argv0 : "<prog>", buf); exits("fatal"); }