--- ray/src/util/rad.c 1994/01/01 12:12:32 2.38 +++ ray/src/util/rad.c 1994/04/21 12:22:44 2.40 @@ -701,6 +701,8 @@ oconv() /* run oconv and mkillum if necessary */ exit(1); } octreedate = time((time_t *)NULL); + if (octreedate < scenedate) /* in case clock is off */ + octreedate = scenedate; } if (oct1name == vval(OCTREE)) /* no mkillum? */ oct1date = octreedate > matdate ? octreedate : matdate; @@ -727,6 +729,10 @@ oconv() /* run oconv and mkillum if necessary */ exit(1); } oct0date = time((time_t *)NULL); + if (oct0date < octreedate) /* in case clock is off */ + oct0date = octreedate; + if (oct0date < illumdate) /* ditto */ + oct0date = illumdate; } mkillumopts(mkopts); /* build mkillum command */ mktemp(illumtmp); @@ -755,6 +761,8 @@ oconv() /* run oconv and mkillum if necessary */ exit(1); } oct1date = time((time_t *)NULL); + if (oct1date < oct0date) /* in case clock is off */ + oct1date = oct0date; rmfile(illumtmp); } @@ -850,6 +858,8 @@ char *po; &siz[0], &org[1], &siz[1], &org[2], &siz[2]) != 6) badvalue(ZONE); siz[0] -= org[0]; siz[1] -= org[1]; siz[2] -= org[2]; + if (siz[0] <= FTINY | siz[1] <= FTINY | siz[2] <= FTINY) + badvalue(ZONE); getoctcube(org, &d); d *= 3./(siz[0]+siz[1]+siz[2]); switch (vscale(DETAIL)) { @@ -916,6 +926,8 @@ char *po; &siz[0], &org[1], &siz[1], &org[2], &siz[2]) != 6) badvalue(ZONE); siz[0] -= org[0]; siz[1] -= org[1]; siz[2] -= org[2]; + if (siz[0] <= FTINY | siz[1] <= FTINY | siz[2] <= FTINY) + badvalue(ZONE); getoctcube(org, &d); d *= 3./(siz[0]+siz[1]+siz[2]); switch (vscale(DETAIL)) { @@ -985,6 +997,8 @@ char *po; &siz[0], &org[1], &siz[1], &org[2], &siz[2]) != 6) badvalue(ZONE); siz[0] -= org[0]; siz[1] -= org[1]; siz[2] -= org[2]; + if (siz[0] <= FTINY | siz[1] <= FTINY | siz[2] <= FTINY) + badvalue(ZONE); getoctcube(org, &d); d *= 3./(siz[0]+siz[1]+siz[2]); switch (vscale(DETAIL)) { @@ -1157,6 +1171,8 @@ register char *vs; badvalue(ZONE); for (i = 0; i < 3; i++) { dim[i] -= cent[i]; + if (dim[i] <= FTINY) + badvalue(ZONE); cent[i] += .5*dim[i]; } mult = vlet(ZONE)=='E' ? 2. : .45 ;