7 // XXX: Apparently necessary for g++
8 #define typename tyname
11 extern char *progname;
15 // #define ERROR fflush(stdout), fprintf(stderr, "%s: ", progname), fprintf(stderr,
16 // #define FATAL ), exit(1)
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), \
25 #define WARNING ), fputs(errbuf, stdout), \
27 fprintf(stderr, "%s: ", progname), \
28 fputs(errbuf, stderr) : 0, \
31 #define eq(s,t) (strcmp(s,t) == 0)
33 inline int max(int x, int y) { return x > y ? x : y; }
34 inline int min(int x, int y) { return x > y ? y : x; }
35 inline int abs(int x) { return (x >= 0) ? x : -x; }
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