=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/awk/run.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- src/usr.bin/awk/run.c 1997/08/25 16:17:14 1.13 +++ src/usr.bin/awk/run.c 1999/04/18 17:06:31 1.14 @@ -1,4 +1,4 @@ -/* $OpenBSD: run.c,v 1.13 1997/08/25 16:17:14 kstailey Exp $ */ +/* $OpenBSD: run.c,v 1.14 1999/04/18 17:06:31 millert Exp $ */ /**************************************************************** Copyright (C) Lucent Technologies 1997 All Rights Reserved @@ -283,6 +283,7 @@ if (i >= ncall) { freesymtab(t); t->csub = CTEMP; + tempfree(t); } else { oargs[i]->tval = t->tval; oargs[i]->tval &= ~(STR|NUM|DONTFREE); @@ -338,7 +339,7 @@ case EXIT: if (a[0] != NULL) { y = execute(a[0]); - errorflag = getfval(y); + errorflag = (int) getfval(y); tempfree(y); } longjmp(env, 1); @@ -405,7 +406,7 @@ tempfree(x); } else { /* getline sval)) { + if (is_number(fldtab[0]->sval)) { fldtab[0]->fval = atof(fldtab[0]->sval); fldtab[0]->tval |= NUM; } @@ -472,7 +473,7 @@ return(z); } -Cell *adelete(Node **a, int n) /* a[0] is symtab, a[1] is list of subscripts */ +Cell *awkdelete(Node **a, int n) /* a[0] is symtab, a[1] is list of subscripts */ { Cell *x, *y; Node *np; @@ -697,8 +698,8 @@ char *s; x = execute(a[0]); - m = getfval(x); - if (m == 0 && !isnumber(s = getsval(x))) /* suspicion! */ + m = (int) getfval(x); + if (m == 0 && !is_number(s = getsval(x))) /* suspicion! */ ERROR "illegal field $(%s), name \"%s\"", s, x->nval FATAL; /* BUG: can x->nval ever be null??? */ tempfree(x); @@ -730,14 +731,14 @@ setsval(x, ""); return(x); } - m = getfval(y); + m = (int) getfval(y); if (m <= 0) m = 1; else if (m > k) m = k; tempfree(y); if (a[2] != 0) { - n = getfval(z); + n = (int) getfval(z); tempfree(z); } else n = k - 1; @@ -1223,7 +1224,7 @@ sprintf(num, "%d", n); temp = *patbeg; *patbeg = '\0'; - if (isnumber(s)) + if (is_number(s)) setsymtab(num, s, atof(s), STR|NUM, (Array *) ap->sval); else setsymtab(num, s, 0.0, STR, (Array *) ap->sval); @@ -1240,7 +1241,7 @@ } n++; sprintf(num, "%d", n); - if (isnumber(s)) + if (is_number(s)) setsymtab(num, s, atof(s), STR|NUM, (Array *) ap->sval); else setsymtab(num, s, 0.0, STR, (Array *) ap->sval); @@ -1260,7 +1261,7 @@ temp = *s; *s = '\0'; sprintf(num, "%d", n); - if (isnumber(t)) + if (is_number(t)) setsymtab(num, t, atof(t), STR|NUM, (Array *) ap->sval); else setsymtab(num, t, 0.0, STR, (Array *) ap->sval); @@ -1289,7 +1290,7 @@ temp = *s; *s = '\0'; sprintf(num, "%d", n); - if (isnumber(t)) + if (is_number(t)) setsymtab(num, t, atof(t), STR|NUM, (Array *) ap->sval); else setsymtab(num, t, 0.0, STR, (Array *) ap->sval); @@ -1482,7 +1483,7 @@ u = time((time_t *)0); else u = getfval(x); - srand((int) u); u = (int) u; + srand((unsigned int) u); break; case FTOUPPER: case FTOLOWER: