--- ray/src/rt/rpict.c 1993/11/24 14:28:08 2.35 +++ ray/src/rt/rpict.c 1993/12/22 21:03:54 2.37 @@ -1,4 +1,4 @@ -/* Copyright (c) 1992 Regents of the University of California */ +/* Copyright (c) 1993 Regents of the University of California */ #ifndef lint static char SCCSid[] = "$SunId$ LBL"; @@ -155,7 +155,11 @@ report() /* report progress */ gethostname(hostname, sizeof(hostname)); #else times(&tbuf); +#ifdef _SC_CLK_TCK period = 1.0 / sysconf(_SC_CLK_TCK); +#else + period = 1.0 / 60.0; +#endif u = ( tbuf.tms_utime + tbuf.tms_cutime ) * period; s = ( tbuf.tms_stime + tbuf.tms_cstime ) * period; uname(&nambuf); @@ -624,12 +628,12 @@ char *oldfile; int x, y; if (oldfile == NULL) - return(0); - + goto gotzip; + if ((fp = fopen(oldfile, "r")) == NULL) { sprintf(errmsg, "cannot open recover file \"%s\"", oldfile); error(WARNING, errmsg); - return(0); + goto gotzip; } #ifdef MSDOS setmode(fileno(fp), O_BINARY); @@ -642,7 +646,7 @@ char *oldfile; oldfile); error(WARNING, errmsg); fclose(fp); - return(0); + goto gotzip; } if (x != hres || y != vres) { @@ -666,6 +670,10 @@ char *oldfile; fclose(fp); unlink(oldfile); return(y); +gotzip: + if (fflush(stdout) == EOF) + error(SYSTEM, "error writing picture header"); + return(0); writerr: sprintf(errmsg, "write error during recovery of \"%s\"", oldfile); error(SYSTEM, errmsg);