xref: /plan9/sys/src/cmd/auth/lib/error.c (revision 5979f96214a33481f1724725761f2ef3585d2237)
1219b2ee8SDavid du Colombier #include <u.h>
2219b2ee8SDavid du Colombier #include <libc.h>
3*5979f962SDavid du Colombier #include <bio.h>
49a747e4fSDavid du Colombier #include "authcmdlib.h"
5219b2ee8SDavid du Colombier 
6219b2ee8SDavid du Colombier void
7219b2ee8SDavid du Colombier error(char *fmt, ...)
8219b2ee8SDavid du Colombier {
9219b2ee8SDavid du Colombier 	char buf[8192], *s;
107dd7cddfSDavid du Colombier 	va_list arg;
11219b2ee8SDavid du Colombier 
12219b2ee8SDavid du Colombier 	s = buf;
13219b2ee8SDavid du Colombier 	s += sprint(s, "%s: ", argv0);
147dd7cddfSDavid du Colombier 	va_start(arg, fmt);
159a747e4fSDavid du Colombier 	s = vseprint(s, buf + sizeof(buf), fmt, arg);
167dd7cddfSDavid du Colombier 	va_end(arg);
17219b2ee8SDavid du Colombier 	*s++ = '\n';
18219b2ee8SDavid du Colombier 	write(2, buf, s - buf);
19219b2ee8SDavid du Colombier 	exits(buf);
20219b2ee8SDavid du Colombier }
21