sysfatal.c 413 B

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