Reapply r301289 by pfg:
| MFV r300961: one-true-awk: replace 0 with NULL for pointers | Also remove a redundant semicolon. | Also had to rebase on upstream pull.
This commit is contained in:
parent
b525355729
commit
10ce5b990f
@ -91,11 +91,11 @@ fa *makedfa(const char *s, int anchor) /* returns dfa for reg expr s */
|
||||
fa *pfa;
|
||||
static int now = 1;
|
||||
|
||||
if (setvec == 0) { /* first time through any RE */
|
||||
if (setvec == NULL) { /* first time through any RE */
|
||||
maxsetvec = MAXLIN;
|
||||
setvec = (int *) malloc(maxsetvec * sizeof(int));
|
||||
tmpset = (int *) malloc(maxsetvec * sizeof(int));
|
||||
if (setvec == 0 || tmpset == 0)
|
||||
if (setvec == NULL || tmpset == NULL)
|
||||
overflo("out of space initializing makedfa");
|
||||
}
|
||||
|
||||
@ -317,11 +317,11 @@ char *cclenter(const char *argp) /* add a character class */
|
||||
int j;
|
||||
uschar *p = (uschar *) argp;
|
||||
uschar *op, *bp;
|
||||
static uschar *buf = 0;
|
||||
static uschar *buf = NULL;
|
||||
static int bufsz = 100;
|
||||
|
||||
op = p;
|
||||
if (buf == 0 && (buf = (uschar *) malloc(bufsz)) == NULL)
|
||||
if (buf == NULL && (buf = (uschar *) malloc(bufsz)) == NULL)
|
||||
FATAL("out of space for character class [%.10s...] 1", p);
|
||||
bp = buf;
|
||||
for (i = 0; (c = *p++) != 0; ) {
|
||||
@ -380,7 +380,7 @@ void cfoll(fa *f, Node *v) /* enter follow set of each leaf of vertex v into lfo
|
||||
maxsetvec *= 4;
|
||||
setvec = (int *) realloc(setvec, maxsetvec * sizeof(int));
|
||||
tmpset = (int *) realloc(tmpset, maxsetvec * sizeof(int));
|
||||
if (setvec == 0 || tmpset == 0)
|
||||
if (setvec == NULL || tmpset == NULL)
|
||||
overflo("out of space in cfoll()");
|
||||
}
|
||||
for (i = 0; i <= f->accept; i++)
|
||||
@ -421,7 +421,7 @@ int first(Node *p) /* collects initially active leaves of p into setvec */
|
||||
maxsetvec *= 4;
|
||||
setvec = (int *) realloc(setvec, maxsetvec * sizeof(int));
|
||||
tmpset = (int *) realloc(tmpset, maxsetvec * sizeof(int));
|
||||
if (setvec == 0 || tmpset == 0)
|
||||
if (setvec == NULL || tmpset == NULL)
|
||||
overflo("out of space in first()");
|
||||
}
|
||||
if (type(p) == EMPTYRE) {
|
||||
@ -923,7 +923,7 @@ int relex(void) /* lexical analyzer for reparse */
|
||||
{
|
||||
int c, n;
|
||||
int cflag;
|
||||
static uschar *buf = 0;
|
||||
static uschar *buf = NULL;
|
||||
static int bufsz = 100;
|
||||
uschar *bp;
|
||||
struct charclass *cc;
|
||||
@ -953,7 +953,7 @@ int relex(void) /* lexical analyzer for reparse */
|
||||
rlxval = c;
|
||||
return CHAR;
|
||||
case '[':
|
||||
if (buf == 0 && (buf = (uschar *) malloc(bufsz)) == NULL)
|
||||
if (buf == NULL && (buf = (uschar *) malloc(bufsz)) == NULL)
|
||||
FATAL("out of space in reg expr %.10s..", lastre);
|
||||
bp = buf;
|
||||
if (*prestr == '^') {
|
||||
@ -1129,7 +1129,7 @@ int cgoto(fa *f, int s, int c)
|
||||
maxsetvec *= 4;
|
||||
setvec = (int *) realloc(setvec, maxsetvec * sizeof(int));
|
||||
tmpset = (int *) realloc(tmpset, maxsetvec * sizeof(int));
|
||||
if (setvec == 0 || tmpset == 0)
|
||||
if (setvec == NULL || tmpset == NULL)
|
||||
overflo("out of space in cgoto()");
|
||||
}
|
||||
for (i = 0; i <= f->accept; i++)
|
||||
@ -1151,7 +1151,7 @@ int cgoto(fa *f, int s, int c)
|
||||
maxsetvec *= 4;
|
||||
setvec = (int *) realloc(setvec, maxsetvec * sizeof(int));
|
||||
tmpset = (int *) realloc(tmpset, maxsetvec * sizeof(int));
|
||||
if (setvec == 0 || tmpset == 0)
|
||||
if (setvec == NULL || tmpset == NULL)
|
||||
overflo("cgoto overflow");
|
||||
}
|
||||
if (setvec[q[j]] == 0) {
|
||||
|
@ -176,10 +176,10 @@ int reg = 0; /* 1 => return a REGEXPR now */
|
||||
int yylex(void)
|
||||
{
|
||||
int c;
|
||||
static char *buf = 0;
|
||||
static char *buf = NULL;
|
||||
static int bufsize = 5; /* BUG: setting this small causes core dump! */
|
||||
|
||||
if (buf == 0 && (buf = (char *) malloc(bufsize)) == NULL)
|
||||
if (buf == NULL && (buf = (char *) malloc(bufsize)) == NULL)
|
||||
FATAL( "out of space in yylex" );
|
||||
if (sc) {
|
||||
sc = 0;
|
||||
@ -366,10 +366,10 @@ int string(void)
|
||||
{
|
||||
int c, n;
|
||||
char *s, *bp;
|
||||
static char *buf = 0;
|
||||
static char *buf = NULL;
|
||||
static int bufsz = 500;
|
||||
|
||||
if (buf == 0 && (buf = (char *) malloc(bufsz)) == NULL)
|
||||
if (buf == NULL && (buf = (char *) malloc(bufsz)) == NULL)
|
||||
FATAL("out of space for strings");
|
||||
for (bp = buf; (c = input()) != '"'; ) {
|
||||
if (!adjbuf(&buf, &bufsz, bp-buf+2, 500, &bp, "string"))
|
||||
@ -513,11 +513,11 @@ void startreg(void) /* next call to yylex will return a regular expression */
|
||||
int regexpr(void)
|
||||
{
|
||||
int c;
|
||||
static char *buf = 0;
|
||||
static char *buf = NULL;
|
||||
static int bufsz = 500;
|
||||
char *bp;
|
||||
|
||||
if (buf == 0 && (buf = (char *) malloc(bufsz)) == NULL)
|
||||
if (buf == NULL && (buf = (char *) malloc(bufsz)) == NULL)
|
||||
FATAL("out of space for rex expr");
|
||||
bp = buf;
|
||||
for ( ; (c = input()) != '/' && c != 0; ) {
|
||||
@ -549,7 +549,7 @@ char ebuf[300];
|
||||
char *ep = ebuf;
|
||||
char yysbuf[100]; /* pushback buffer */
|
||||
char *yysptr = yysbuf;
|
||||
FILE *yyin = 0;
|
||||
FILE *yyin = NULL;
|
||||
|
||||
int input(void) /* get next lexical input character */
|
||||
{
|
||||
|
@ -156,7 +156,7 @@ int main(int argc, char *argv[])
|
||||
table[p->token-FIRSTTOKEN] = p->name;
|
||||
printf("\nCell *(*proctab[%d])(Node **, int) = {\n", SIZE);
|
||||
for (i=0; i<SIZE; i++)
|
||||
if (table[i]==0)
|
||||
if (table[i]==NULL)
|
||||
printf("\tnullproc,\t/* %s */\n", names[i]);
|
||||
else
|
||||
printf("\t%s,\t/* %s */\n", table[i], names[i]);
|
||||
|
@ -259,7 +259,7 @@ int isarg(const char *s) /* is s in argument list for current function? */
|
||||
Node *p = arglist;
|
||||
int n;
|
||||
|
||||
for (n = 0; p != 0; p = p->nnext, n++)
|
||||
for (n = 0; p != NULL; p = p->nnext, n++)
|
||||
if (strcmp(((Cell *)(p->narg[0]))->nval, s) == 0)
|
||||
return n;
|
||||
return -1;
|
||||
|
@ -517,7 +517,7 @@ Cell *awkdelete(Node **a, int n) /* a[0] is symtab, a[1] is list of subscripts *
|
||||
x = execute(a[0]); /* Cell* for symbol table */
|
||||
if (!isarr(x))
|
||||
return True;
|
||||
if (a[1] == 0) { /* delete the elements, not the table */
|
||||
if (a[1] == NULL) { /* delete the elements, not the table */
|
||||
freesymtab(x);
|
||||
x->tval &= ~STR;
|
||||
x->tval |= ARR;
|
||||
@ -603,7 +603,7 @@ Cell *matchop(Node **a, int n) /* ~ and match() */
|
||||
}
|
||||
x = execute(a[1]); /* a[1] = target text */
|
||||
s = getsval(x);
|
||||
if (a[0] == 0) /* a[1] == 0: already-compiled reg expr */
|
||||
if (a[0] == NULL) /* a[1] == 0: already-compiled reg expr */
|
||||
i = (*mf)((fa *) a[2], s);
|
||||
else {
|
||||
y = execute(a[2]); /* a[2] = regular expr */
|
||||
@ -719,7 +719,7 @@ Cell *gettemp(void) /* get a tempcell */
|
||||
FATAL("out of space for temporaries");
|
||||
for(i = 1; i < 100; i++)
|
||||
tmps[i-1].cnext = &tmps[i];
|
||||
tmps[i-1].cnext = 0;
|
||||
tmps[i-1].cnext = NULL;
|
||||
}
|
||||
x = tmps;
|
||||
tmps = x->cnext;
|
||||
@ -754,18 +754,18 @@ Cell *substr(Node **a, int nnn) /* substr(a[0], a[1], a[2]) */
|
||||
int k, m, n;
|
||||
char *s;
|
||||
int temp;
|
||||
Cell *x, *y, *z = 0;
|
||||
Cell *x, *y, *z = NULL;
|
||||
|
||||
x = execute(a[0]);
|
||||
y = execute(a[1]);
|
||||
if (a[2] != 0)
|
||||
if (a[2] != NULL)
|
||||
z = execute(a[2]);
|
||||
s = getsval(x);
|
||||
k = strlen(s) + 1;
|
||||
if (k <= 1) {
|
||||
tempfree(x);
|
||||
tempfree(y);
|
||||
if (a[2] != 0) {
|
||||
if (a[2] != NULL) {
|
||||
tempfree(z);
|
||||
}
|
||||
x = gettemp();
|
||||
@ -778,7 +778,7 @@ Cell *substr(Node **a, int nnn) /* substr(a[0], a[1], a[2]) */
|
||||
else if (m > k)
|
||||
m = k;
|
||||
tempfree(y);
|
||||
if (a[2] != 0) {
|
||||
if (a[2] != NULL) {
|
||||
n = (int) getfval(z);
|
||||
tempfree(z);
|
||||
} else
|
||||
@ -1219,7 +1219,7 @@ Cell *pastat(Node **a, int n) /* a[0] { a[1] } */
|
||||
{
|
||||
Cell *x;
|
||||
|
||||
if (a[0] == 0)
|
||||
if (a[0] == NULL)
|
||||
x = execute(a[1]);
|
||||
else {
|
||||
x = execute(a[0]);
|
||||
@ -1256,9 +1256,9 @@ Cell *dopa2(Node **a, int n) /* a[0], a[1] { a[2] } */
|
||||
|
||||
Cell *split(Node **a, int nnn) /* split(a[0], a[1], a[2]); a[3] is type */
|
||||
{
|
||||
Cell *x = 0, *y, *ap;
|
||||
Cell *x = NULL, *y, *ap;
|
||||
char *s, *origs;
|
||||
char *fs, *origfs = NULL;
|
||||
char *fs = NULL, *origfs = NULL;
|
||||
int sep;
|
||||
char *t, temp, num[50];
|
||||
int n, tempstat, arg3type;
|
||||
@ -1266,8 +1266,8 @@ Cell *split(Node **a, int nnn) /* split(a[0], a[1], a[2]); a[3] is type */
|
||||
y = execute(a[0]); /* source string */
|
||||
origs = s = strdup(getsval(y));
|
||||
arg3type = ptoi(a[3]);
|
||||
if (a[2] == 0) /* fs string */
|
||||
fs = getsval(fsloc);
|
||||
if (a[2] == NULL) /* fs string */
|
||||
fs = *FS;
|
||||
else if (arg3type == STRING) { /* split(str,arr,"string") */
|
||||
x = execute(a[2]);
|
||||
origfs = fs = strdup(getsval(x));
|
||||
@ -1387,6 +1387,9 @@ Cell *split(Node **a, int nnn) /* split(a[0], a[1], a[2]); a[3] is type */
|
||||
tempfree(y);
|
||||
free(origs);
|
||||
free(origfs);
|
||||
if (a[2] != NULL && arg3type == STRING) {
|
||||
tempfree(x);
|
||||
}
|
||||
x = gettemp();
|
||||
x->tval = NUM;
|
||||
x->fval = n;
|
||||
@ -1416,7 +1419,7 @@ Cell *ifstat(Node **a, int n) /* if (a[0]) a[1]; else a[2] */
|
||||
if (istrue(x)) {
|
||||
tempfree(x);
|
||||
x = execute(a[1]);
|
||||
} else if (a[2] != 0) {
|
||||
} else if (a[2] != NULL) {
|
||||
tempfree(x);
|
||||
x = execute(a[2]);
|
||||
}
|
||||
@ -1468,7 +1471,7 @@ Cell *forstat(Node **a, int n) /* for (a[0]; a[1]; a[2]) a[3] */
|
||||
x = execute(a[0]);
|
||||
tempfree(x);
|
||||
for (;;) {
|
||||
if (a[1]!=0) {
|
||||
if (a[1]!=NULL) {
|
||||
x = execute(a[1]);
|
||||
if (!istrue(x)) return(x);
|
||||
else tempfree(x);
|
||||
@ -1551,7 +1554,7 @@ Cell *bltin(Node **a, int n) /* builtin functions. a[0] is type, a[1] is arg lis
|
||||
case FCOS:
|
||||
u = cos(getfval(x)); break;
|
||||
case FATAN:
|
||||
if (nextarg == 0) {
|
||||
if (nextarg == NULL) {
|
||||
WARNING("atan2 requires two arguments; returning 1.0");
|
||||
u = 1.0;
|
||||
} else {
|
||||
@ -1697,7 +1700,7 @@ Cell *bltin(Node **a, int n) /* builtin functions. a[0] is type, a[1] is arg lis
|
||||
tempfree(x);
|
||||
x = gettemp();
|
||||
setfval(x, u);
|
||||
if (nextarg != 0) {
|
||||
if (nextarg != NULL) {
|
||||
WARNING("warning: function has too many arguments");
|
||||
for ( ; nextarg; nextarg = nextarg->nnext)
|
||||
execute(nextarg);
|
||||
@ -1711,7 +1714,7 @@ Cell *printstat(Node **a, int n) /* print a[0] */
|
||||
Cell *y;
|
||||
FILE *fp;
|
||||
|
||||
if (a[1] == 0) /* a[1] is redirection operator, a[2] is file */
|
||||
if (a[1] == NULL) /* a[1] is redirection operator, a[2] is file */
|
||||
fp = stdout;
|
||||
else
|
||||
fp = redirect(ptoi(a[1]), a[2]);
|
||||
@ -1724,7 +1727,7 @@ Cell *printstat(Node **a, int n) /* print a[0] */
|
||||
else
|
||||
fputs(getsval(ofsloc), fp);
|
||||
}
|
||||
if (a[1] != 0)
|
||||
if (a[1] != NULL)
|
||||
fflush(fp);
|
||||
if (ferror(fp))
|
||||
FATAL("write error on %s", filename(fp));
|
||||
@ -1781,7 +1784,7 @@ FILE *openfile(int a, const char *us)
|
||||
{
|
||||
const char *s = us;
|
||||
int i, m;
|
||||
FILE *fp = 0;
|
||||
FILE *fp = NULL;
|
||||
|
||||
if (*s == '\0')
|
||||
FATAL("null file name in print or getline");
|
||||
@ -1796,7 +1799,7 @@ FILE *openfile(int a, const char *us)
|
||||
return NULL;
|
||||
|
||||
for (i=0; i < nfiles; i++)
|
||||
if (files[i].fp == 0)
|
||||
if (files[i].fp == NULL)
|
||||
break;
|
||||
if (i >= nfiles) {
|
||||
struct files *nf;
|
||||
@ -1912,7 +1915,7 @@ Cell *sub(Node **a, int nnn) /* substitute command */
|
||||
FATAL("out of memory in sub");
|
||||
x = execute(a[3]); /* target string */
|
||||
t = getsval(x);
|
||||
if (a[0] == 0) /* 0 => a[1] is already-compiled regexpr */
|
||||
if (a[0] == NULL) /* 0 => a[1] is already-compiled regexpr */
|
||||
pfa = (fa *) a[1]; /* regular expression */
|
||||
else {
|
||||
y = execute(a[1]);
|
||||
@ -1952,7 +1955,7 @@ Cell *sub(Node **a, int nnn) /* substitute command */
|
||||
if (pb > buf + bufsz)
|
||||
FATAL("sub result2 %.30s too big; can't happen", buf);
|
||||
setsval(x, buf); /* BUG: should be able to avoid copy */
|
||||
result = True;;
|
||||
result = True;
|
||||
}
|
||||
tempfree(x);
|
||||
tempfree(y);
|
||||
@ -1975,7 +1978,7 @@ Cell *gsub(Node **a, int nnn) /* global substitute */
|
||||
num = 0;
|
||||
x = execute(a[3]); /* target string */
|
||||
t = getsval(x);
|
||||
if (a[0] == 0) /* 0 => a[1] is already-compiled regexpr */
|
||||
if (a[0] == NULL) /* 0 => a[1] is already-compiled regexpr */
|
||||
pfa = (fa *) a[1]; /* regular expression */
|
||||
else {
|
||||
y = execute(a[1]);
|
||||
|
@ -194,7 +194,7 @@ void freesymtab(Cell *ap) /* free a symbol table */
|
||||
free(cp);
|
||||
tp->nelem--;
|
||||
}
|
||||
tp->tab[i] = 0;
|
||||
tp->tab[i] = NULL;
|
||||
}
|
||||
if (tp->nelem != 0)
|
||||
WARNING("can't happen: inconsistent element count freeing %s", ap->nval);
|
||||
|
Loading…
Reference in New Issue
Block a user