--- ray/src/px/ximage.c 1990/01/08 14:47:11 1.21 +++ ray/src/px/ximage.c 1990/03/12 15:14:49 1.24 @@ -542,20 +542,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 +563,7 @@ getmono() /* get monochrome data */ cerr[x] = err >>= 1; } } - free((char *)inline); + free((char *)inl); free((char *)cerr); } @@ -656,11 +656,7 @@ register rgbpixel *l3; if (getscan(y) < 0) quiterr("cannot seek for picreadline"); /* convert scanline */ - if (scale) - for (i = 0; i < xmax; i++) - if (scanline[i][EXP]) - scanline[i][EXP] += scale; - normcolrs(scanline, xmax); + normcolrs(scanline, xmax, scale); for (i = 0; i < xmax; i++) { l3[i].r = scanline[i][RED]; l3[i].g = scanline[i][GRN]; @@ -673,7 +669,7 @@ picwriteline(y, l) /* add 8-bit scanline to image */ int y; pixel *l; { - bcopy(l, ourras->data.bz+BZPixmapSize(xmax,y), BZPixmapSize(xmax,1)); + bcopy((char *)l, (char *)ourras->data.bz+BZPixmapSize(xmax,y), BZPixmapSize(xmax,1)); }