1 #include	<stdio.h>
2 #include	<stdlib.h>
3 #include	<math.h>
4 #include	<ctype.h>
5 #include	<string.h>
6 
7 // XXX: Apparently necessary for g++
8 #define	typename tyname
9 
10 extern char	errbuf[];
11 extern char	*progname;
12 extern int	linenum;
13 extern int	wantwarn;
14 
15 // #define	ERROR	fflush(stdout), fprintf(stderr, "%s: ", progname), fprintf(stderr,
16 // #define	FATAL	), exit(1)
17 // #define	WARNING	)
18 
19 #define	ERROR	fprintf(stdout, "\n#MESSAGE TO USER:  "), sprintf(errbuf,
20 #define	FATAL	), fputs(errbuf, stdout), \
21 		fprintf(stderr, "%s: ", progname), \
22 		fputs(errbuf, stderr), \
23 		fflush(stdout), \
24 		exit(1)
25 #define	WARNING	), fputs(errbuf, stdout), \
26 		wantwarn ? \
27 			fprintf(stderr, "%s: ", progname), \
28 			fputs(errbuf, stderr) : 0, \
29 		fflush(stdout)
30 
31 #define	eq(s,t)	(strcmp(s,t) == 0)
32 
max(int x,int y)33 inline int	max(int x, int y)	{ return x > y ? x : y; }
min(int x,int y)34 inline int	min(int x, int y)	{ return x > y ? y : x; }
abs(int x)35 inline int	abs(int x)		{ return (x >= 0) ? x : -x; }
36 
37 extern int	dbg;
38 
39 extern int	pn, userpn;		// actual and user-defined page numbers
40 extern int	pagetop, pagebot;	// printing margins
41 extern int	physbot;		// physical bottom of the page
42