#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include "obj.h"

extern char *progname;

#define MAXSTR		500

/*
 * error - print best error message possible and exit
 */
/*ARGSUSED1*/
/*VARARGS*/
void error(char *s1, char *s2)
 {
	warning(s1, s2);
	exit(1);
 }

/*ARGSUSED1*/
/*VARARGS*/
void warning(char *f, char *a)
 {
	extern int errno, sys_nerr;
	extern char *sys_errlist[];
	int myerrno;

	myerrno = errno;

	/* cuz we use stdout for most, stderr here */
	(void) fflush(stdout); 

	if (progname != NULL) {
		(void) fputs(progname, stderr);
		(void) putc(':', stderr);
		(void) putc(' ', stderr);
	}
	(void) fprintf(stderr, f, a);
	if (myerrno > 0 && myerrno < sys_nerr)
		(void) fprintf(stderr, " (%s)", sys_errlist[myerrno]);
	putc('\n', stderr);
 }
