--- ray/src/hd/rhcopy.c 2017/05/03 21:15:06 3.29 +++ ray/src/hd/rhcopy.c 2019/10/21 18:19:32 3.32 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: rhcopy.c,v 3.29 2017/05/03 21:15:06 greg Exp $"; +static const char RCSid[] = "$Id: rhcopy.c,v 3.32 2019/10/21 18:19:32 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)) { @@ -137,7 +137,7 @@ openholo( /* open existing holodeck file for i/o */ off_t nextloc; int n; /* open holodeck file */ - if ((fp = fopen(fname, append ? "r+" : "r")) == NULL) { + if ((fp = fopen(fname, append ? "rb+" : "rb")) == NULL) { sprintf(errmsg, "cannot open \"%s\" for %s", fname, append ? "appending" : "reading"); error(SYSTEM, errmsg); @@ -174,13 +174,13 @@ addray( /* add a ray to our output holodeck */ ) { int sn, bi, n; - register HOLO *hp; + HOLO *hp; GCOORD gc[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,9 +334,9 @@ 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) { + if ((pfp = fopen(pcf, "rb")) == NULL) { sprintf(errmsg, "cannot open picture file \"%s\"", pcf); error(SYSTEM, pcf); } @@ -344,6 +344,7 @@ addpicz( /* add a picture + depth-buffer */ sprintf(errmsg, "cannot open depth file \"%s\"", zbf); error(SYSTEM, pcf); } + SET_FD_BINARY(zfd); /* load picture header */ phd.vw = stdview; phd.expos = 1.0; @@ -392,12 +393,12 @@ addpicz( /* add a picture + depth-buffer */ } if (eshft) /* shift exposure */ shiftcolrs(cscn, i, eshft); - i *= sizeof(float); /* read depth */ - if (read(zfd, (char *)zscn, i) != i) { + /* read depth */ + if (read(zfd, zscn, i*sizeof(float)) != i*sizeof(float)) { sprintf(errmsg, "error reading depth file \"%s\"", zbf); error(USER, errmsg); } - for (i = scanlen(&prs); i--; ) { /* do each pixel */ + while (i--) { /* process each pixel */ if (zscn[i] <= 0.0) continue; /* illegal depth */ pix2loc(vl, &prs, i, j); @@ -427,7 +428,7 @@ addpicz( /* add a picture + depth-buffer */ void eputs( /* put error message to stderr */ - register char *s + char *s ) { static int midline = 0;