--- ray/src/hd/rhcopy.c 2008/11/10 19:08:19 3.24 +++ ray/src/hd/rhcopy.c 2018/10/05 19:19:16 3.31 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: rhcopy.c,v 3.24 2008/11/10 19:08:19 greg Exp $"; +static const char RCSid[] = "$Id: rhcopy.c,v 3.31 2018/10/05 19:19:16 greg Exp $"; #endif /* * Copy data into a holodeck file @@ -97,11 +97,11 @@ userr: static int holheadline( /* check holodeck header line */ - register char *s, + char *s, void *vhf ) { - char fmt[32]; + char fmt[MAXFMTLEN]; int *hf = vhf; if (formatval(fmt, s)) { @@ -134,7 +134,7 @@ openholo( /* open existing holodeck file for i/o */ FILE *fp; int fd; int hflags = 0; - long nextloc; + off_t nextloc; int n; /* open holodeck file */ if ((fp = fopen(fname, append ? "r+" : "r")) == NULL) { @@ -152,7 +152,7 @@ openholo( /* open existing holodeck file for i/o */ nextloc = ftell(fp); /* get stdio position */ fclose(fp); /* done with stdio */ for (n = 0; nextloc > 0L; n++) { /* initialize each section */ - lseek(fd, (off_t)nextloc, SEEK_SET); + lseek(fd, nextloc, SEEK_SET); read(fd, (char *)&nextloc, sizeof(nextloc)); hdinit(fd, NULL)->priv = hflags&H_OBST ? &obstr : hflags&H_OBSF ? &unobstr : (char *)NULL; @@ -174,13 +174,13 @@ addray( /* add a ray to our output holodeck */ ) { int sn, bi, n; - register HOLO *hp; + HOLO *hp; GCOORD gc[2]; - BYTE rr[2][2]; + uby8 rr[2][2]; BEAM *bp; double d0, d1; unsigned dc; - register RAYVAL *rv; + RAYVAL *rv; /* check each output section */ for (sn = noutsects; sn--; ) { hp = hdlist[sn]; @@ -223,7 +223,7 @@ bpcmp( /* compare beam positions on disk */ const void *b2p ) { - register off_t pdif = beamdir[*(int*)b1p].fo - beamdir[*(int*)b2p].fo; + off_t pdif = beamdir[*(int*)b1p].fo - beamdir[*(int*)b2p].fo; if (pdif > 0L) return(1); if (pdif < 0L) return(-1); @@ -241,8 +241,8 @@ addclump( /* transfer the given clump and free */ FVECT ro, rd; double d; int i; - register int k; - register BEAM *bp; + int k; + BEAM *bp; /* sort based on file position */ beamdir = hp->bi; qsort((char *)bq, nb, sizeof(*bq), bpcmp); @@ -334,7 +334,7 @@ addpicz( /* add a picture + depth-buffer */ double aftd; COLOR ctmp; int j; - register int i; + int i; /* open files */ if ((pfp = fopen(pcf, "r")) == NULL) { sprintf(errmsg, "cannot open picture file \"%s\"", pcf); @@ -359,7 +359,7 @@ addpicz( /* add a picture + depth-buffer */ error(USER, errmsg); } if (phd.altprims) { - sprintf(errmsg, "ignoring primary values in picture \"%s\"", + sprintf(errmsg, "ignoring color primaries in picture \"%s\"", pcf); error(WARNING, errmsg); } @@ -398,6 +398,8 @@ addpicz( /* add a picture + depth-buffer */ error(USER, errmsg); } for (i = scanlen(&prs); i--; ) { /* do each pixel */ + if (zscn[i] <= 0.0) + continue; /* illegal depth */ pix2loc(vl, &prs, i, j); aftd = viewray(ro, rd, &phd.vw, vl[0], vl[1]); if (aftd < -FTINY) @@ -425,7 +427,7 @@ addpicz( /* add a picture + depth-buffer */ void eputs( /* put error message to stderr */ - register char *s + char *s ) { static int midline = 0;