home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (c) 1991 Regents of the University of California */
-
- #ifndef lint
- static char SCCSid[] = "@(#)error.c 2.1 11/12/91 LBL";
- #endif
-
- /*
- * error.c - standard error reporting function
- */
-
- #include "standard.h"
-
- extern char *sys_errlist[]; /* system error list */
- extern int sys_nerr; /* number of system errors */
-
- char errmsg[128]; /* global error message buffer */
-
-
- error(etype, emsg) /* report error, quit if necessary */
- int etype;
- char *emsg;
- {
- switch (etype) {
- case WARNING:
- wputs("warning - ");
- wputs(emsg);
- wputs("\n");
- return;
- case COMMAND:
- cputs(emsg);
- cputs("\n");
- return;
- case USER:
- eputs("fatal - ");
- eputs(emsg);
- eputs("\n");
- quit(1);
- case INTERNAL:
- eputs("internal - ");
- eputs(emsg);
- eputs("\n");
- quit(1);
- case SYSTEM:
- eputs("system - ");
- eputs(emsg);
- if (errno > 0) {
- eputs(": ");
- if (errno <= sys_nerr)
- eputs(sys_errlist[errno]);
- else
- eputs("Unknown error");
- }
- eputs("\n");
- quit(2);
- case CONSISTENCY:
- eputs("consistency - ");
- eputs(emsg);
- eputs("\n");
- abort();
- }
- }
-