xref: /plan9/sys/src/cmd/dossrv/chat.c (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
13e12c5d1SDavid du Colombier #include <u.h>
23e12c5d1SDavid du Colombier #include <libc.h>
33e12c5d1SDavid du Colombier #include "iotrack.h"
43e12c5d1SDavid du Colombier #include "dat.h"
53e12c5d1SDavid du Colombier #include "fns.h"
63e12c5d1SDavid du Colombier 
73e12c5d1SDavid du Colombier #define	SIZE	1024
83e12c5d1SDavid du Colombier int	chatty;
97dd7cddfSDavid du Colombier extern int	doabort;
103e12c5d1SDavid du Colombier 
113e12c5d1SDavid du Colombier void
chat(char * fmt,...)123e12c5d1SDavid du Colombier chat(char *fmt, ...)
133e12c5d1SDavid du Colombier {
147dd7cddfSDavid du Colombier 	va_list arg;
153e12c5d1SDavid du Colombier 
163e12c5d1SDavid du Colombier 	if (!chatty)
173e12c5d1SDavid du Colombier 		return;
187dd7cddfSDavid du Colombier 	va_start(arg, fmt);
19*9a747e4fSDavid du Colombier 	vfprint(2, fmt, arg);
207dd7cddfSDavid du Colombier 	va_end(arg);
213e12c5d1SDavid du Colombier }
223e12c5d1SDavid du Colombier 
233e12c5d1SDavid du Colombier void
panic(char * fmt,...)243e12c5d1SDavid du Colombier panic(char *fmt, ...)
253e12c5d1SDavid du Colombier {
267dd7cddfSDavid du Colombier 	va_list arg;
273e12c5d1SDavid du Colombier 
28*9a747e4fSDavid du Colombier 	fprint(2, "%s %d: panic ", argv0, getpid());
297dd7cddfSDavid du Colombier 	va_start(arg, fmt);
30*9a747e4fSDavid du Colombier 	vfprint(2, fmt, arg);
317dd7cddfSDavid du Colombier 	va_end(arg);
32*9a747e4fSDavid du Colombier 	fprint(2, ": %r\n");
337dd7cddfSDavid du Colombier 	if(doabort)
347dd7cddfSDavid du Colombier 		abort();
353e12c5d1SDavid du Colombier 	exits("panic");
363e12c5d1SDavid du Colombier }
37