aboutsummaryrefslogtreecommitdiff
path: root/src/lib9/sysfatal.c
blob: 33a533b8391aff2fdc1b9bb6c65585dbbb238650 (plain)
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");
}