shithub: riscv

ref: 03a52c7cf794c65b51cf2c658f2db67dcbbb811a
dir: /sys/src/libc/9sys/sysfatal.c/

View raw version
#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);
	exits(buf);
}

void (*_sysfatal)(char *fmt, va_list arg) = _sysfatalimpl;

_Noreturn void
sysfatal(char *fmt, ...)
{
	va_list arg;

	va_start(arg, fmt);
	(*_sysfatal)(fmt, arg);
	va_end(arg);
}