--- ray/src/common/calfunc.c 2019/06/11 22:13:50 2.23 +++ ray/src/common/calfunc.c 2021/09/16 23:48:47 2.26 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: calfunc.c,v 2.23 2019/06/11 22:13:50 greg Exp $"; +static const char RCSid[] = "$Id: calfunc.c,v 2.26 2021/09/16 23:48:47 greg Exp $"; #endif /* * calfunc.c - routines for calcomp using functions. @@ -150,6 +150,8 @@ funset( /* set a library function */ if (cp == fname) return; } if ((lp = liblookup(fname)) == NULL) { /* insert */ + if (fptr == NULL) + return; /* nothing! */ if (libsize >= MAXLIB) { eputs("Too many library functons!\n"); quit(1); @@ -408,11 +410,10 @@ static double l_max(char *nm) /* general maximum function */ { int n = nargum(); - int i = 1; - int vmax = argument(1); + double vmax = argument(1); - while (i++ < n) { - double v = argument(i); + while (--n) { + double v = argument(n); if (vmax < v) vmax = v; } @@ -424,11 +425,10 @@ static double l_min(char *nm) /* general minimum function */ { int n = nargum(); - int i = 1; - int vmin = argument(1); + double vmin = argument(1); - while (i++ < n) { - double v = argument(i); + while (--n) { + double v = argument(n); if (vmin > v) vmin = v; }