From f645fe3187da37fe56debb7ffceb5fac64847bad Mon Sep 17 00:00:00 2001 From: Keith Bostic Date: Tue, 3 Sep 1991 18:43:34 -0800 Subject: [PATCH] New version from Oz Yigit SCCS-vsn: usr.bin/m4/extern.h 5.1 SCCS-vsn: usr.bin/m4/stdd.h 5.1 --- usr/src/usr.bin/m4/extern.h | 68 +++++++++++++++++++++++++++++++++++++ usr/src/usr.bin/m4/stdd.h | 30 ++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 usr/src/usr.bin/m4/extern.h create mode 100644 usr/src/usr.bin/m4/stdd.h diff --git a/usr/src/usr.bin/m4/extern.h b/usr/src/usr.bin/m4/extern.h new file mode 100644 index 0000000000..3cc8a45a80 --- /dev/null +++ b/usr/src/usr.bin/m4/extern.h @@ -0,0 +1,68 @@ +/*- + * Copyright (c) 1991 The Regents of the University of California. + * All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ozan Yigit. + * + * %sccs.include.redist.c% + * + * @(#)extern.h 5.1 (Berkeley) %G% + */ + +char *basename __P((char *)); +char *xalloc __P((unsigned long)); +int expr __P((char *)); +ndptr addent __P((char *)); +void chrsave __P((int)); +void dochc __P((char *[], int)); +void dochq __P((char *[], int)); +void dodefine __P((char *, char *)); +void dodefn __P((char *)); +void dodiv __P((int)); +void dodump __P((char *[], int)); +void doifelse __P((char *[], int)); +int doincl __P((char *)); +int dopaste __P((char *)); +void dopushdef __P((char *, char *)); +void dosub __P((char *[], int)); +void doundiv __P((char *[], int)); +void eval __P((char *[], int, int)); +void expand __P((char *[], int)); +void getdiv __P((int)); +char *xstrdup __P((const char *)); +int hash __P((char *)); +int indx __P((char *, char *)); +void killdiv __P((void)); +ndptr lookup __P((char *)); +void map __P((char *, char *, char *, char *)); +void onintr __P((int)); +void oops __P((const char *, ...)); +void pbnum __P((int)); +void pbstr __P((char *)); +void putback __P((int)); +void remhash __P((char *, int)); +void usage __P((void)); + +extern ndptr hashtab[]; /* hash table for macros etc. */ +extern stae mstack[]; /* stack of m4 machine */ +extern FILE *active; /* active output file pointer */ +extern FILE *infile[]; /* input file stack (0=stdin) */ +extern FILE *outfile[]; /* diversion array(0=bitbucket) */ +extern int fp; /* m4 call frame pointer */ +extern int ilevel; /* input file stack pointer */ +extern int oindex; /* diversion index. */ +extern int sp; /* current m4 stack pointer */ +extern char *bp; /* first available character */ +extern char buf[]; /* push-back buffer */ +extern char ecommt; /* end character for comment */ +extern char *endest; /* end of string space */ +extern char *endpbb; /* end of push-back buffer */ +extern char *ep; /* first free char in strspace */ +extern char lquote; /* left quote character (`) */ +extern char *m4temp; /* filename for diversions */ +extern char *m4wraps; /* m4wrap string default. */ +extern char *null; /* as it says.. just a null. */ +extern char *progname; /* program name */ +extern char rquote; /* right quote character (') */ +extern char scommt; /* start character for comment */ diff --git a/usr/src/usr.bin/m4/stdd.h b/usr/src/usr.bin/m4/stdd.h new file mode 100644 index 0000000000..8e4ddd11ed --- /dev/null +++ b/usr/src/usr.bin/m4/stdd.h @@ -0,0 +1,30 @@ +/*- + * Copyright (c) 1991 The Regents of the University of California. + * All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Ozan Yigit. + * + * %sccs.include.redist.c% + * + * @(#)stdd.h 5.1 (Berkeley) %G% + */ + +/* + * standard defines + */ + +#define max(a,b) ((a) > (b)? (a): (b)) +#define min(a,b) ((a) < (b)? (a): (b)) + +#define iswhite(c) ((c) == ' ' || (c) == '\t') + +/* + * STREQ is an optimised strcmp(a,b)==0 + * STREQN is an optimised strncmp(a,b,n)==0; assumes n > 0 + */ +#define STREQ(a, b) ((a)[0] == (b)[0] && strcmp(a, b) == 0) +#define STREQN(a, b, n) ((a)[0] == (b)[0] && strncmp(a, b, n) == 0) + +#define YES 1 +#define NO 0 -- 2.20.1