/*
	Misc support routines for unter style error management.
	Stolen from mjr.
	Modded to scribble on stderr, for now.
	Andrew Molitor, amolitor@eagle.wesleyan.edu
*/
#include "udb_defs.h"
#include <stdio.h>
#include <errno.h>
#include <varargs.h>
#ifdef VMS
noshare extern char *sys_errlist[];
#endif
extern	int	errno;
extern	char	*sys_errlist[];
/*
print a series of warnings - do not exit
*/
/* VARARGS */
void
logf(va_alist)
va_dcl
{
	char	*p;
	va_list	ap;
	va_start(ap);
	while(1) {
		p = va_arg(ap,char *);
		if(p == (char *)0)
			break;
		if(p == (char *)-1)
			p = sys_errlist[errno];
		(void)fprintf(stderr,"%s",p);
	}
	va_end(ap);
	(void)fflush(stderr);
}
/*
print a series of warnings - exit
*/
/* VARARGS */
void
fatal(va_alist)
va_dcl
{
	char	*p;
	va_list	ap;
	va_start(ap);
	while(1) {
		p = va_arg(ap,char *);
		if(p == (char *)0)
			break;
		if(p == (char *)-1)
			p = sys_errlist[errno];
		(void)fprintf(stderr,"%s",p);
	}
	va_end(ap);
	(void)fflush(stderr);
	exit(1);
}