--- ray/src/hd/rhd_geom.c 1998/12/21 11:42:37 3.3 +++ ray/src/hd/rhd_geom.c 1999/01/29 15:04:03 3.7 @@ -1,4 +1,4 @@ -/* Copyright (c) 1998 Silicon Graphics, Inc. */ +/* Copyright (c) 1999 Silicon Graphics, Inc. */ #ifndef lint static char SCCSid[] = "$SunId$ SGI"; @@ -33,7 +33,7 @@ static struct gmEntry { #define FORALLPORT(pl,i) for (i=0;i= MAXGEO || gmNext[j].gfile == NULL) + if (j >= MAXGEO || gmNext[j].gfile == NULL) { glDeleteLists(gmCurrent[i].listid, 1); /* not found */ + freestr(gmCurrent[i].gfile); + } } bcopy((char *)gmNext, (char *)gmCurrent, sizeof(gmNext)); bzero((char *)gmNext, sizeof(gmNext)); @@ -83,7 +86,7 @@ gmEndGeom() /* make next list current */ int -gmDrawGeom() /* draw current list of octrees (and ports) */ +gmDrawGeom() /* draw current list of octrees */ { register int n; @@ -102,7 +105,7 @@ int r, g, b, a; GL_POLYGON_BIT|GL_LIGHTING_BIT); glDisable(GL_LIGHTING); glDisable(GL_DITHER); - glShadeModel(GL_SMOOTH); + glShadeModel(GL_FLAT); glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); /* don't actually write depth */ glDepthMask(GL_FALSE); @@ -144,11 +147,7 @@ char *pflist; if (pflist == NULL) return; - while (*pflist) { - atos(newfile, sizeof(newfile), pflist); - if (!*newfile) - break; - pflist = sskip(pflist); + while ((pflist = nextword(newfile, sizeof(newfile), pflist)) != NULL) { FORALLPORT(newportlist,i) if (!strcmp(newportlist[i], newfile)) goto endloop; /* in list already */