--- ray/src/util/glaresrc.c 1991/03/18 14:32:17 1.2 +++ ray/src/util/glaresrc.c 1991/03/19 09:10:58 1.4 @@ -88,7 +88,7 @@ double br; register int i; if (h <= -hlim) { /* left region */ - d = (double)(h+hlim)/SAMPDENS; + d = (double)(h+hlim)/sampdens; if (d <= -1.0+FTINY) return; tanb = d/sqrt(1.0-d*d); @@ -102,7 +102,7 @@ double br; return; } if (h >= hlim) { /* right region */ - d = (double)(h-hlim)/SAMPDENS; + d = (double)(h-hlim)/sampdens; if (d >= 1.0-FTINY) return; tanb = d/sqrt(1.0-d*d); @@ -246,10 +246,12 @@ int v; close_allsrcs() /* done with everything */ { - register struct source *this; + register struct source *this, *nsrc; - for (this = curlist; this != NULL; this = this->next) + for (this = curlist; this != NULL; this = nsrc) { + nsrc = this->next; donesource(this); + } curlist = NULL; } @@ -265,6 +267,7 @@ register struct source *sp; sp->dom = 0.0; sp->dir[0] = sp->dir[1] = sp->dir[1] = 0.0; sp->brt = 0.0; + n = 0; for (ss = sp->first; ss != NULL; ss = ss->next) { sp->brt += ss->brsum; n += ss->r - ss->l; @@ -287,7 +290,7 @@ register struct source *sp; donelist = sp; if (verbose) fprintf(stderr, - "%s: found source at (%f,%f,%f), solid angle %f, brightness %f\n", + "%s: found source at (%f,%f,%f), dw %f, br %f\n", progname, sp->dir[0], sp->dir[1], sp->dir[2], sp->dom, sp->brt); }