--- ray/src/common/calexpr.c 1992/11/10 10:29:19 2.10 +++ ray/src/common/calexpr.c 1993/06/04 15:04:48 2.14 @@ -34,14 +34,14 @@ static char SCCSid[] = "$SunId$ LBL"; #define isdecimal(c) (isdigit(c) || (c) == '.') -#ifndef atof -extern double atof(); -#endif -extern char *fgets(), *savestr(); +extern char *savestr(); extern char *emalloc(), *ecalloc(); extern EPNODE *curfunc; extern double efunc(), evariable(); -static double euminus(), echannel(), eargument(), enumber(); +static double euminus(), eargument(), enumber(); +#ifdef INCHAN +static double echannel(); +#endif static double eadd(), esubtr(), emult(), edivi(), epow(); static double ebotch(); @@ -128,7 +128,7 @@ char *expr; epfree(epar) /* free a parse tree */ register EPNODE *epar; { - register EPNODE *ep, *epn; + register EPNODE *ep; switch (epar->type) { @@ -149,8 +149,8 @@ register EPNODE *epar; break; default: - for (ep = epar->v.kid; ep != NULL; ep = epn) { - epn = ep->sibling; + while ((ep = epar->v.kid) != NULL) { + epar->v.kid = ep->sibling; epfree(ep); } break;