--- ray/src/px/macbethcal.c 2003/07/21 22:30:18 2.19 +++ ray/src/px/macbethcal.c 2003/11/10 12:28:56 2.22 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: macbethcal.c,v 2.19 2003/07/21 22:30:18 schorsch Exp $"; +static const char RCSid[] = "$Id: macbethcal.c,v 2.22 2003/11/10 12:28:56 schorsch Exp $"; #endif /* * Calibrate a scanned MacBeth Color Checker Chart @@ -15,6 +15,7 @@ static const char RCSid[] = "$Id: macbethcal.c,v 2.19 #include #include "platform.h" +#include "rtprocess.h" #include "color.h" #include "resolu.h" #include "pmap.h" @@ -98,7 +99,7 @@ short mbneu[NMBNEU] = {Black,Neutral35,Neutral5,Neutra #define RG_CORR 04 /* corrected color region */ #ifndef DISPCOM -#define DISPCOM "ximage -op %s" +#define DISPCOM "ximage -op \"%s\"" #endif int scanning = 1; /* scanned input (or recorded output)? */ @@ -366,11 +367,11 @@ getcolors() /* get xyY colors from standard input */ float xyYin[3]; while (fgetval(stdin, 'i', &n) == 1) { /* read colors */ - if (n < 0 | n > 24 || + if ((n < 0) | (n > 24) || fgetval(stdin, 'f', &xyYin[0]) != 1 || fgetval(stdin, 'f', &xyYin[1]) != 1 || fgetval(stdin, 'f', &xyYin[2]) != 1 || - xyYin[0] < 0. | xyYin[1] < 0. || + (xyYin[0] < 0.) | (xyYin[1] < 0.) || xyYin[0] + xyYin[1] > 1.) { fprintf(stderr, "%s: bad color input data\n", progname); @@ -798,7 +799,7 @@ FILE *fp; pickchartpos(pfn) /* display picture and pick chart location */ char *pfn; { - char combuf[512]; + char combuf[PATH_MAX]; FILE *pfp; sprintf(combuf, DISPCOM, pfn);