--- ray/src/px/ximage.c 1990/01/26 08:17:43 1.23 +++ ray/src/px/ximage.c 1990/10/13 21:31:45 1.25 @@ -407,8 +407,9 @@ XKeyEvent *ekey; XFeep(0); return(-1); } - viewray(rorg, rdir, &ourview, (ekey->x-xoff+.5)/xmax, - (ymax-1-ekey->y+yoff+.5)/ymax); + if (viewray(rorg, rdir, &ourview, (ekey->x-xoff+.5)/xmax, + (ymax-1-ekey->y+yoff+.5)/ymax) < 0) + return(-1); printf("%e %e %e ", rorg[0], rorg[1], rorg[2]); printf("%e %e %e\n", rdir[0], rdir[1], rdir[2]); fflush(stdout); @@ -542,20 +543,20 @@ getmono() /* get monochrome data */ register unsigned short *dp; register int x, err; int y; - rgbpixel *inline; + rgbpixel *inl; short *cerr; - if ((inline = (rgbpixel *)malloc(xmax*sizeof(rgbpixel))) == NULL + if ((inl = (rgbpixel *)malloc(xmax*sizeof(rgbpixel))) == NULL || (cerr = (short *)calloc(xmax,sizeof(short))) == NULL) quit("out of memory in getmono"); dp = ourras->data.m - 1; for (y = 0; y < ymax; y++) { - picreadline3(y, inline); + picreadline3(y, inl); err = 0; for (x = 0; x < xmax; x++) { if (!(x&0xf)) *++dp = 0; - err += rgb_bright(&inline[x]) + cerr[x]; + err += rgb_bright(&inl[x]) + cerr[x]; if (err > 127) err -= 255; else @@ -563,7 +564,7 @@ getmono() /* get monochrome data */ cerr[x] = err >>= 1; } } - free((char *)inline); + free((char *)inl); free((char *)cerr); }