xref: /csrg-svn/usr.bin/uucp/assert.c (revision 17832)
1 #ifndef lint
2 static char sccsid[] = "@(#)assert.c	5.3 (Berkeley) 01/22/85";
3 #endif
4 
5 #include "uucp.h"
6 #include <sys/time.h>
7 #include <sys/types.h>
8 #include <errno.h>
9 
10 /*******
11  *	assert - print out assetion error
12  *
13  *	return code - none
14  */
15 
16 assert(s1, s2, i1)
17 char *s1, *s2;
18 {
19 	register FILE *errlog;
20 	register struct tm *tp;
21 	extern struct tm *localtime();
22 	extern time_t time();
23 	time_t clock;
24 	int pid;
25 
26 	errlog = NULL;
27 	if (!Debug) {
28 		int savemask;
29 		savemask = umask(LOGMASK);
30 		errlog = fopen(ERRLOG, "a");
31 		umask(savemask);
32 	}
33 	if (errlog == NULL)
34 		errlog = stderr;
35 
36 	pid = getpid();
37 	fprintf(errlog, "ASSERT ERROR (%.9s)  ", Progname);
38 	fprintf(errlog, "pid: %d  ", pid);
39 	time(&clock);
40 	tp = localtime(&clock);
41 #ifdef USG
42 	fprintf(errlog, "(%d/%d-%2.2d:%2.2d) ", tp->tm_mon + 1,
43 		tp->tm_mday, tp->tm_hour, tp->tm_min);
44 #else
45 	fprintf(errlog, "(%d/%d-%02d:%02d) ", tp->tm_mon + 1,
46 		tp->tm_mday, tp->tm_hour, tp->tm_min);
47 #endif
48 	fprintf(errlog, "%s %s (%d)\n", s1 ? s1 : "", s2 ? s2 : "", i1);
49 	if (errlog != stderr)
50 		fclose(errlog);
51 	return;
52 }
53