WARNSify, fix .Nm usage, getopt returns -1 not EOF, deprecate register

This commit is contained in:
lukem 1997-10-19 04:39:51 +00:00
parent 0abdfcdfd5
commit 6f9ec05a98
7 changed files with 228 additions and 246 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: eval.c,v 1.9 1997/02/08 23:50:40 cgd Exp $ */
/* $NetBSD: eval.c,v 1.10 1997/10/19 04:39:51 lukem Exp $ */
/*
* Copyright (c) 1989, 1993
@ -36,11 +36,12 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)eval.c 8.2 (Berkeley) 4/27/95";
#else
static char rcsid[] = "$NetBSD: eval.c,v 1.9 1997/02/08 23:50:40 cgd Exp $";
__RCSID("$NetBSD: eval.c,v 1.10 1997/10/19 04:39:51 lukem Exp $");
#endif
#endif /* not lint */
@ -51,6 +52,7 @@ static char rcsid[] = "$NetBSD: eval.c,v 1.9 1997/02/08 23:50:40 cgd Exp $";
*/
#include <sys/types.h>
#include <err.h>
#include <errno.h>
#include <unistd.h>
#include <stdio.h>
@ -82,11 +84,11 @@ static char rcsid[] = "$NetBSD: eval.c,v 1.9 1997/02/08 23:50:40 cgd Exp $";
void
eval(argv, argc, td)
register char *argv[];
register int argc;
register int td;
char *argv[];
int argc;
int td;
{
register int c, n;
int c, n;
static int sysval = 0;
#ifdef DEBUG
@ -193,7 +195,7 @@ register int td;
case INCLTYPE:
if (argc > 2)
if (!doincl(argv[2]))
oops("%s: %s", argv[2], strerror(errno));
err(1, "%s", argv[2]);
break;
case SINCTYPE:
@ -204,7 +206,7 @@ register int td;
case PASTTYPE:
if (argc > 2)
if (!dopaste(argv[2]))
oops("%s: %s", argv[2], strerror(errno));
err(1, "%s", argv[2]);
break;
case SPASTYPE:
@ -236,7 +238,6 @@ register int td;
* argv[2])
*/
if (argc > 3) {
int k;
for (n = argc - 1; n > 3; n--) {
pbstr(rquote);
pbstr(argv[n]);
@ -371,7 +372,7 @@ register int td;
break;
default:
oops("%s: major botch.", "eval");
errx(1, "eval: major botch");
break;
}
}
@ -383,13 +384,13 @@ char *dumpfmt = "`%s'\t`%s'\n"; /* format string for dumpdef */
*/
void
expand(argv, argc)
register char *argv[];
register int argc;
char *argv[];
int argc;
{
register char *t;
register char *p;
register int n;
register int argno;
char *t;
char *p;
int n;
int argno;
t = argv[0]; /* defn string as a whole */
p = t;
@ -454,15 +455,15 @@ register int argc;
*/
void
dodefine(name, defn)
register char *name;
register char *defn;
char *name;
char *defn;
{
register ndptr p;
ndptr p;
if (!*name)
oops("null definition.");
errx(1, "null definition");
if (STREQ(name, defn))
oops("%s: recursive definition.", name);
errx(1, "%s: recursive definition", name);
if ((p = lookup(name)) == nil)
p = addent(name);
else if (p->defn != null)
@ -480,9 +481,9 @@ register char *defn;
*/
void
dodefn(name)
char *name;
char *name;
{
register ndptr p;
ndptr p;
if ((p = lookup(name)) != nil && p->defn != null) {
pbstr(rquote);
@ -500,15 +501,15 @@ char *name;
*/
void
dopushdef(name, defn)
register char *name;
register char *defn;
char *name;
char *defn;
{
register ndptr p;
ndptr p;
if (!*name)
oops("null definition");
errx(1, "null definition");
if (STREQ(name, defn))
oops("%s: recursive definition.", name);
errx(1, "%s: recursive definition", name);
p = addent(name);
if (!*defn)
p->defn = null;
@ -524,10 +525,10 @@ register char *defn;
*/
void
dodump(argv, argc)
register char *argv[];
register int argc;
char *argv[];
int argc;
{
register int n;
int n;
ndptr p;
if (argc > 2) {
@ -549,8 +550,8 @@ register int argc;
*/
void
doifelse(argv, argc)
register char *argv[];
register int argc;
char *argv[];
int argc;
{
cycle {
if (STREQ(argv[2], argv[3]))
@ -571,10 +572,10 @@ register int argc;
*/
int
doincl(ifile)
char *ifile;
char *ifile;
{
if (ilevel + 1 == MAXINP)
oops("too many include files.");
errx(1, "too many include files");
if ((infile[ilevel + 1] = fopen(ifile, "r")) != NULL) {
ilevel++;
bbase[ilevel] = bufbase = bp;
@ -591,10 +592,10 @@ char *ifile;
*/
int
dopaste(pfile)
char *pfile;
char *pfile;
{
FILE *pf;
register int c;
int c;
if ((pf = fopen(pfile, "r")) != NULL) {
while ((c = getc(pf)) != EOF)
@ -612,8 +613,8 @@ char *pfile;
*/
void
dochq(argv, argc)
register char *argv[];
register int argc;
char *argv[];
int argc;
{
if (argc > 2) {
if (*argv[2])
@ -636,8 +637,8 @@ register int argc;
*/
void
dochc(argv, argc)
register char *argv[];
register int argc;
char *argv[];
int argc;
{
if (argc > 2) {
if (*argv[2])
@ -660,7 +661,7 @@ register int argc;
*/
void
dodiv(n)
register int n;
int n;
{
int tempfilenum;
@ -673,7 +674,7 @@ register int n;
if (outfile[tempfilenum] == NULL) {
m4temp[UNIQUE] = tempfilenum + '0';
if ((outfile[tempfilenum] = fopen(m4temp, "w")) == NULL)
oops("%s: cannot divert.", m4temp);
err(1, "%s: cannot divert", m4temp);
}
oindex = n;
active = outfile[tempfilenum];
@ -685,11 +686,11 @@ register int n;
*/
void
doundiv(argv, argc)
register char *argv[];
register int argc;
char *argv[];
int argc;
{
register int ind;
register int n;
int ind;
int n;
if (argc > 2) {
for (ind = 2; ind < argc; ind++) {
@ -710,11 +711,11 @@ register int argc;
*/
void
dosub(argv, argc)
register char *argv[];
register int argc;
char *argv[];
int argc;
{
register char *ap, *fc, *k;
register int nc;
char *ap, *fc, *k;
int nc;
if (argc < 5)
nc = MAXTOK;
@ -762,13 +763,13 @@ register int argc;
*/
void
map(dest, src, from, to)
register char *dest;
register char *src;
register char *from;
register char *to;
char *dest;
char *src;
char *from;
char *to;
{
register char *tmp;
register char sch, dch;
char *tmp;
char sch, dch;
static char mapvec[128] = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
@ -790,23 +791,23 @@ register char *to;
* "to"
*/
while (*from)
mapvec[*from++] = (*to) ? *to++ : (char) 0;
mapvec[(int)*from++] = (*to) ? *to++ : (char) 0;
while (*src) {
sch = *src++;
dch = mapvec[sch];
dch = mapvec[(int)sch];
while (dch != sch) {
sch = dch;
dch = mapvec[sch];
dch = mapvec[(int)sch];
}
if (*dest = dch)
if ((*dest = dch) != 0)
dest++;
}
/*
* restore all the changed characters
*/
while (*tmp) {
mapvec[*tmp] = *tmp;
mapvec[(int)*tmp] = *tmp;
tmp++;
}
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: expr.c,v 1.7 1995/09/28 05:37:31 tls Exp $ */
/* $NetBSD: expr.c,v 1.8 1997/10/19 04:39:53 lukem Exp $ */
/*
* Copyright (c) 1989, 1993
@ -36,17 +36,21 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)expr.c 8.2 (Berkeley) 4/29/95";
#else
static char rcsid[] = "$NetBSD: expr.c,v 1.7 1995/09/28 05:37:31 tls Exp $";
__RCSID("$NetBSD: expr.c,v 1.8 1997/10/19 04:39:53 lukem Exp $");
#endif
#endif /* not lint */
#include <sys/cdefs.h>
#include <stdio.h>
#include "mdef.h"
#include "extern.h"
/*
* expression evaluator: performs a standard recursive
* descent parse to evaluate any expression permissible
@ -138,9 +142,9 @@ static jmp_buf expjump;
int
expr(expbuf)
char *expbuf;
char *expbuf;
{
register int rval;
int rval;
nxtch = expbuf;
if (setjmp(expjump) != 0)
@ -160,7 +164,7 @@ char *expbuf;
static int
query()
{
register int bool, true_val, false_val;
int bool, true_val, false_val;
bool = lor();
if (skipws() != '?') {
@ -182,7 +186,7 @@ query()
static int
lor()
{
register int c, vl, vr;
int c, vl, vr;
vl = land();
while ((c = skipws()) == '|') {
@ -202,7 +206,7 @@ lor()
static int
land()
{
register int c, vl, vr;
int c, vl, vr;
vl = not();
while ((c = skipws()) == '&') {
@ -222,7 +226,7 @@ land()
static int
not()
{
register int val, c;
int val, c;
if ((c = skipws()) == '!' && getch() != '=') {
ungetch();
@ -242,7 +246,7 @@ not()
static int
eqrel()
{
register int vl, vr, eqrel;
int vl, vr, eqrel;
vl = shift();
while ((eqrel = geteqrel()) != -1) {
@ -280,7 +284,7 @@ eqrel()
static int
shift()
{
register int vl, vr, c;
int vl, vr, c;
vl = primary();
while (((c = skipws()) == '<' || c == '>') && getch() == c) {
@ -304,7 +308,7 @@ shift()
static int
primary()
{
register int c, vl, vr;
int c, vl, vr;
vl = term();
while ((c = skipws()) == '+' || c == '-') {
@ -326,7 +330,7 @@ primary()
static int
term()
{
register int c, vl, vr;
int c, vl, vr;
vl = exp();
while ((c = skipws()) == '*' || c == '/' || c == '%') {
@ -354,7 +358,7 @@ term()
static int
exp()
{
register c, vl, vr, n;
int c, vl, vr, n;
vl = unary();
switch (c = skipws()) {
@ -383,7 +387,7 @@ exp()
static int
unary()
{
register int val, c;
int val, c;
if ((c = skipws()) == '+' || c == '-' || c == '~') {
val = unary();
@ -408,7 +412,7 @@ unary()
static int
factor()
{
register int val;
int val;
if (skipws() == '(') {
val = query();
@ -428,9 +432,9 @@ factor()
static int
constant()
{
register int i;
register int value;
register char c;
int i;
int value;
char c;
int v[sizeof(int)];
if (skipws() != '\'') {
@ -489,7 +493,7 @@ constant()
static int
num()
{
register int rval, c, base;
int rval, c, base;
int ndig;
base = ((c = skipws()) == '0') ? OCTAL : DECIMAL;
@ -516,7 +520,7 @@ num()
static int
geteqrel()
{
register int c1, c2;
int c1, c2;
c1 = skipws();
c2 = getch();
@ -560,7 +564,7 @@ geteqrel()
static int
skipws()
{
register char c;
char c;
while ((c = getch()) <= ' ' && c > EOS)
;
@ -573,7 +577,7 @@ skipws()
*/
static void
experr(msg)
char *msg;
char *msg;
{
printf("m4: %s in expr.\n", msg);
longjmp(expjump, -1);

View File

@ -1,4 +1,4 @@
/* $NetBSD: extern.h,v 1.3 1996/01/13 23:25:24 pk Exp $ */
/* $NetBSD: extern.h,v 1.4 1997/10/19 04:39:55 lukem Exp $ */
/*-
* Copyright (c) 1991, 1993
@ -65,7 +65,6 @@ 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));

View File

@ -34,8 +34,13 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)look.c 8.1 (Berkeley) 6/6/93";
#else
__RCSID("$NetBSD: look.c,v 1.6 1997/10/19 04:39:57 lukem Exp $");
#endif
#endif /* not lint */
/*
@ -52,11 +57,14 @@ static char sccsid[] = "@(#)look.c 8.1 (Berkeley) 6/6/93";
#include "stdd.h"
#include "extern.h"
static void freent __P((ndptr));
int
hash(name)
register char *name;
char *name;
{
register unsigned long h = 0;
unsigned long h = 0;
while (*name)
h = (h << 5) + h + *name++;
return (h % HASHSIZE);
@ -67,9 +75,9 @@ register char *name;
*/
ndptr
lookup(name)
char *name;
char *name;
{
register ndptr p;
ndptr p;
for (p = hashtab[hash(name)]; p != nil; p = p->nxtptr)
if (STREQ(name, p->name))
@ -83,9 +91,9 @@ char *name;
*/
ndptr
addent(name)
char *name;
char *name;
{
register int h;
int h;
ndptr p;
h = hash(name);
@ -98,7 +106,7 @@ char *name;
static void
freent(p)
ndptr p;
ndptr p;
{
if (!(p->type & STATIC)) {
free((char *) p->name);
@ -113,11 +121,11 @@ ndptr p;
*/
void
remhash(name, all)
char *name;
int all;
char *name;
int all;
{
register int h;
register ndptr xp, tp, mp;
int h;
ndptr xp, tp, mp;
h = hash(name);
mp = hashtab[h];

View File

@ -1,4 +1,4 @@
.\" $NetBSD: m4.1,v 1.6 1997/02/12 07:09:07 mikel Exp $
.\" $NetBSD: m4.1,v 1.7 1997/10/19 04:39:58 lukem Exp $
.\"
.Dd January 26, 1993
.Dt m4 1
@ -7,7 +7,7 @@
.Nm m4
.Nd macro language processor
.Sh SYNOPSIS
.Nm m4
.Nm
.Oo
.Fl D Ns Ar name Ns Op Ar =value
.Oc

View File

@ -1,4 +1,4 @@
/* $NetBSD: main.c,v 1.12 1997/02/08 23:54:49 cgd Exp $ */
/* $NetBSD: main.c,v 1.13 1997/10/19 04:40:00 lukem Exp $ */
/*-
* Copyright (c) 1989, 1993
@ -36,17 +36,17 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
#ifndef lint
static char copyright[] =
"@(#) Copyright (c) 1989, 1993\n\
The Regents of the University of California. All rights reserved.\n";
__COPYRIGHT("@(#) Copyright (c) 1989, 1993\n\
The Regents of the University of California. All rights reserved.\n");
#endif /* not lint */
#ifndef lint
#if 0
static char sccsid[] = "@(#)main.c 8.1 (Berkeley) 6/6/93";
#else
static char rcsid[] = "$NetBSD: main.c,v 1.12 1997/02/08 23:54:49 cgd Exp $";
__RCSID("$NetBSD: main.c,v 1.13 1997/10/19 04:40:00 lukem Exp $");
#endif
#endif /* not lint */
@ -57,12 +57,13 @@ static char rcsid[] = "$NetBSD: main.c,v 1.12 1997/02/08 23:54:49 cgd Exp $";
*/
#include <sys/types.h>
#include <signal.h>
#include <errno.h>
#include <unistd.h>
#include <stdio.h>
#include <ctype.h>
#include <err.h>
#include <errno.h>
#include <signal.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "mdef.h"
#include "stdd.h"
#include "extern.h"
@ -95,69 +96,68 @@ char scommt[MAXCCHARS+1] = {SCOMMT}; /* start character for comment */
char ecommt[MAXCCHARS+1] = {ECOMMT}; /* end character for comment */
struct keyblk keywrds[] = { /* m4 keywords to be installed */
"include", INCLTYPE,
"sinclude", SINCTYPE,
"define", DEFITYPE,
"defn", DEFNTYPE,
"divert", DIVRTYPE,
"expr", EXPRTYPE,
"eval", EXPRTYPE,
"substr", SUBSTYPE,
"ifelse", IFELTYPE,
"ifdef", IFDFTYPE,
"len", LENGTYPE,
"incr", INCRTYPE,
"decr", DECRTYPE,
"dnl", DNLNTYPE,
"changequote", CHNQTYPE,
"changecom", CHNCTYPE,
"index", INDXTYPE,
{ "include", INCLTYPE },
{ "sinclude", SINCTYPE },
{ "define", DEFITYPE },
{ "defn", DEFNTYPE },
{ "divert", DIVRTYPE },
{ "expr", EXPRTYPE },
{ "eval", EXPRTYPE },
{ "substr", SUBSTYPE },
{ "ifelse", IFELTYPE },
{ "ifdef", IFDFTYPE },
{ "len", LENGTYPE },
{ "incr", INCRTYPE },
{ "decr", DECRTYPE },
{ "dnl", DNLNTYPE },
{ "changequote", CHNQTYPE },
{ "changecom", CHNCTYPE },
{ "index", INDXTYPE },
#ifdef EXTENDED
"paste", PASTTYPE,
"spaste", SPASTYPE,
{ "paste", PASTTYPE },
{ "spaste", SPASTYPE },
#endif
"popdef", POPDTYPE,
"pushdef", PUSDTYPE,
"dumpdef", DUMPTYPE,
"shift", SHIFTYPE,
"translit", TRNLTYPE,
"undefine", UNDFTYPE,
"undivert", UNDVTYPE,
"divnum", DIVNTYPE,
"maketemp", MKTMTYPE,
"errprint", ERRPTYPE,
"m4wrap", M4WRTYPE,
"m4exit", EXITTYPE,
"syscmd", SYSCTYPE,
"sysval", SYSVTYPE,
{ "popdef", POPDTYPE },
{ "pushdef", PUSDTYPE },
{ "dumpdef", DUMPTYPE },
{ "shift", SHIFTYPE },
{ "translit", TRNLTYPE },
{ "undefine", UNDFTYPE },
{ "undivert", UNDVTYPE },
{ "divnum", DIVNTYPE },
{ "maketemp", MKTMTYPE },
{ "errprint", ERRPTYPE },
{ "m4wrap", M4WRTYPE },
{ "m4exit", EXITTYPE },
{ "syscmd", SYSCTYPE },
{ "sysval", SYSVTYPE },
#if defined(unix) || defined(__NetBSD__)
"unix", MACRTYPE,
{ "unix", MACRTYPE },
#else
#ifdef vms
"vms", MACRTYPE,
{ "vms", MACRTYPE },
#endif
#endif
};
#define MAXKEYS (sizeof(keywrds)/sizeof(struct keyblk))
extern int optind;
extern char *optarg;
void macro();
void initkwds();
extern int getopt();
int do_look_ahead __P((int, char *));
ndptr inspect __P((char *));
void initkwds __P((void));
void macro __P((void));
int main __P((int, char **));
int
main(argc,argv)
int argc;
char *argv[];
{
register int c;
register int n;
int c;
int n;
char *p;
register FILE *ifp;
FILE *ifp;
progname = basename(argv[0]);
@ -166,7 +166,7 @@ main(argc,argv)
initkwds();
while ((c = getopt(argc, argv, "tD:U:o:")) != EOF)
while ((c = getopt(argc, argv, "tD:U:o:")) != -1)
switch(c) {
case 'D': /* define something..*/
@ -204,7 +204,7 @@ main(argc,argv)
if (p[0] == '-' && p[1] == '\0')
ifp = stdin;
else if ((ifp = fopen(p, "r")) == NULL)
oops("%s: %s", p, strerror(errno));
err(1, "%s", p);
sp = -1;
fp = 0;
infile[0] = ifp;
@ -240,8 +240,6 @@ main(argc,argv)
return 0;
}
ndptr inspect();
/*
* Look ahead (at most MAXCCHARS characters) for `token'.
* (on input `t == token[0]')
@ -257,7 +255,7 @@ do_look_ahead(t, token)
int i;
if (t != token[0])
oops("internal error", "");
errx(1, "internal error");
for (i = 1; *++token; i++) {
t = gpbc();
@ -278,13 +276,15 @@ do_look_ahead(t, token)
* macro - the work horse..
*/
void
macro() {
macro()
{
char token[MAXTOK], chars[2];
register char *s;
register int t, l;
register ndptr p;
register int nlpar;
char *s;
int t, l;
ndptr p;
int nlpar;
s = NULL;
cycle {
t = gpbc();
if (t == '_' || isalpha(t)) {
@ -321,7 +321,7 @@ macro() {
}
else if (t == EOF) {
if (sp > -1)
oops("unexpected end of input", "");
errx(1, "unexpected end of input");
if (ilevel <= 0)
break; /* all done thanks.. */
--ilevel;
@ -345,7 +345,7 @@ macro() {
nlpar++;
s = lquote;
} else if (l == EOF)
oops("missing right quote", "");
errx(1, "missing right quote");
else {
chars[0] = l;
chars[1] = '\0';
@ -404,7 +404,7 @@ macro() {
chrsave(EOS);
if (sp == STACKMAX)
oops("internal stack overflow", "");
errx(1, "internal stack overflow");
if (CALTYP == MACRTYPE)
expand((char **) mstack+fp+1, sp-fp);
@ -442,19 +442,19 @@ macro() {
*/
ndptr
inspect(tp)
register char *tp;
char *tp;
{
register char c;
register char *name = tp;
register char *etp = tp+MAXTOK;
register ndptr p;
register unsigned long h = 0;
char c;
char *name = tp;
char *etp = tp+MAXTOK;
ndptr p;
unsigned long h = 0;
while ((isalnum(c = gpbc()) || c == '_') && tp < etp)
h = (h << 5) + h + (*tp++ = c);
putback(c);
if (tp == etp)
oops("token too long", "");
errx(1, "token too long");
*tp = EOS;
@ -472,10 +472,11 @@ register char *tp;
* within keywrds block.
*/
void
initkwds() {
register int i;
register int h;
register ndptr p;
initkwds()
{
int i;
int h;
ndptr p;
for (i = 0; i < MAXKEYS; i++) {
h = hash(keywrds[i].knam);

View File

@ -1,4 +1,4 @@
/* $NetBSD: misc.c,v 1.6 1995/09/28 05:37:41 tls Exp $ */
/* $NetBSD: misc.c,v 1.7 1997/10/19 04:40:03 lukem Exp $ */
/*
* Copyright (c) 1989, 1993
@ -36,15 +36,17 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)misc.c 8.1 (Berkeley) 6/6/93";
#else
static char rcsid[] = "$NetBSD: misc.c,v 1.6 1995/09/28 05:37:41 tls Exp $";
__RCSID("$NetBSD: misc.c,v 1.7 1997/10/19 04:40:03 lukem Exp $");
#endif
#endif /* not lint */
#include <sys/types.h>
#include <err.h>
#include <errno.h>
#include <unistd.h>
#include <stdio.h>
@ -60,31 +62,28 @@ static char rcsid[] = "$NetBSD: misc.c,v 1.6 1995/09/28 05:37:41 tls Exp $";
*/
int
indx(s1, s2)
char *s1;
char *s2;
char *s1;
char *s2;
{
register char *t;
register char *p;
register char *m;
char *t;
for (p = s1; *p; p++) {
for (t = p, m = s2; *m && *m == *t; m++, t++);
if (!*m)
return (p - s1);
}
t = strstr(s1, s2);
if (t == NULL)
return (-1);
return (t - s1);
}
/*
* putback - push character back onto input
*/
void
putback(c)
char c;
char c;
{
if (bp < endpbb)
*bp++ = c;
else
oops("too many characters pushed back");
errx(1, "too many characters pushed back");
}
/*
@ -94,10 +93,10 @@ char c;
*/
void
pbstr(s)
register char *s;
char *s;
{
register char *es;
register char *zp;
char *es;
char *zp;
es = s;
zp = bp;
@ -109,7 +108,7 @@ register char *s;
if (zp < endpbb)
*zp++ = *es--;
if ((bp = zp) == endpbb)
oops("too many characters pushed back");
errx(1, "too many characters pushed back");
}
/*
@ -117,9 +116,9 @@ register char *s;
*/
void
pbnum(n)
int n;
int n;
{
register int num;
int num;
num = (n < 0) ? -n : n;
do {
@ -136,12 +135,12 @@ int n;
*/
void
chrsave(c)
char c;
char c;
{
if (ep < endest)
*ep++ = c;
else
oops("string space overflow");
errx(1, "string space overflow");
}
/*
@ -149,18 +148,18 @@ char c;
*/
void
getdiv(n)
int n;
int n;
{
register int c;
register FILE *dfil;
int c;
FILE *dfil;
if (active == outfile[n])
oops("%s: diversion still active.", "undivert");
errx(1, "undivert: diversion still active");
(void) fclose(outfile[n]);
outfile[n] = NULL;
m4temp[UNIQUE] = n + '0';
if ((dfil = fopen(m4temp, "r")) == NULL)
oops("%s: cannot undivert.", m4temp);
err(1, "%s: cannot undivert", m4temp);
else
while ((c = getc(dfil)) != EOF)
putc(c, active);
@ -171,14 +170,14 @@ int n;
#else
if (unlink(m4temp) == -1)
#endif
oops("%s: cannot unlink.", m4temp);
err(1, "%s: cannot unlink", m4temp);
}
void
onintr(signo)
int signo;
{
oops("interrupted.");
errx(1, "interrupted");
}
/*
@ -187,7 +186,7 @@ onintr(signo)
void
killdiv()
{
register int n;
int n;
for (n = 0; n < MAXOUT; n++)
if (outfile[n] != NULL) {
@ -203,31 +202,30 @@ killdiv()
char *
xalloc(n)
unsigned long n;
unsigned long n;
{
register char *p = malloc(n);
char *p = malloc(n);
if (p == NULL)
oops("malloc: %s", strerror(errno));
err(1, "malloc");
return p;
}
char *
xstrdup(s)
const char *s;
const char *s;
{
register char *p = strdup(s);
char *p = strdup(s);
if (p == NULL)
oops("strdup: %s", strerror(errno));
err(1, "strdup");
return p;
}
char *
basename(s)
register char *s;
char *s;
{
register char *p;
extern char *strrchr();
char *p;
if ((p = strrchr(s, '/')) == NULL)
return s;
@ -241,32 +239,3 @@ usage()
fprintf(stderr, "usage: m4 [-Dname[=val]] [-Uname]\n");
exit(1);
}
#if __STDC__
#include <stdarg.h>
#else
#include <varargs.h>
#endif
void
#if __STDC__
oops(const char *fmt, ...)
#else
oops(fmt, va_alist)
char *fmt;
va_dcl
#endif
{
va_list ap;
#if __STDC__
va_start(ap, fmt);
#else
va_start(ap);
#endif
(void)fprintf(stderr, "%s: ", progname);
(void)vfprintf(stderr, fmt, ap);
va_end(ap);
(void)fprintf(stderr, "\n");
exit(1);
/* NOTREACHED */
}