--- ray/src/common/calexpr.c 1992/10/06 12:29:36 2.9 +++ 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(); @@ -149,8 +149,10 @@ register EPNODE *epar; break; default: - for (ep = epar->v.kid; ep != NULL; ep = ep->sibling) + while ((ep = epar->v.kid) != NULL) { + epar->v.kid = ep->sibling; epfree(ep); + } break; }