--- ray/src/px/macbethcal.c 1995/10/11 20:48:17 2.4 +++ ray/src/px/macbethcal.c 1995/10/17 11:05:17 2.6 @@ -77,17 +77,17 @@ COLOR mbRGB[24]; /* MacBeth RGB values */ #define NMBNEU 6 /* Number of MacBeth neutral colors */ short mbneu[NMBNEU] = {Black,Neutral35,Neutral5,Neutral65,Neutral8,White}; -#define NMBMOD 17 /* Number of MacBeth unsaturated colors */ +#define NMBMOD 16 /* Number of MacBeth unsaturated colors */ short mbmod[NMBMOD] = { DarkSkin,LightSkin,BlueSky,Foliage,BlueFlower,BluishGreen, - Orange,PurplishBlue,ModerateRed,Purple,YellowGreen, + PurplishBlue,ModerateRed,YellowGreen,OrangeYellow, Black,Neutral35,Neutral5,Neutral65,Neutral8,White }; #define NMBSAT 8 /* Number of MacBeth saturated colors */ short mbsat[NMBSAT] = { Red,Green,Blue,Magenta,Yellow,Cyan, - Orange,OrangeYellow + Orange,Purple }; int xmax, ymax; /* input image dimensions */ @@ -272,9 +272,9 @@ COLOR y, x; register int i, n; for (i = 0; i < 3; i++) { - n = NMBNEU; - while (n > 0 && colval(x,i) < colval(bramp[--n][0],i)) - ; + for (n = 0; n < NMBNEU-2; n++) + if (colval(x,i) < colval(bramp[n+1][0],i)) + break; cv[i] = ((colval(bramp[n+1][0],i) - colval(x,i)) * colval(bramp[n][1],i) + (colval(x,i) - colval(bramp[n][0],i)) * @@ -452,6 +452,7 @@ putdebug() /* put out debugging picture */ exit(1); } /* finish debug header */ + fputformat(COLRFMT, debugfp); putc('\n', debugfp); fprtresolu(xmax, ymax, debugfp); for (y = ymax-1; y >= 0; y--) {