--- ray/src/px/pcond.c 2015/08/21 05:48:28 3.26 +++ ray/src/px/pcond.c 2021/04/07 21:13:52 3.31 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: pcond.c,v 3.26 2015/08/21 05:48:28 greg Exp $"; +static const char RCSid[] = "$Id: pcond.c,v 3.31 2021/04/07 21:13:52 greg Exp $"; #endif /* * Condition Radiance picture for display/output @@ -8,12 +8,12 @@ static const char RCSid[] = "$Id: pcond.c,v 3.26 2015/ #include "platform.h" #include "paths.h" -#include "rtprocess.h" +#include "paths.h" #include "pcond.h" #define LDMAX 100 /* default max. display luminance */ -#define LDDYN 32 /* default dynamic range */ +#define LDDYN 100 /* default dynamic range */ int what2do = 0; /* desired adjustments */ @@ -60,7 +60,7 @@ main( { static RGBPRIMS outprimS; int i; -#define bool(flg) switch (argv[i][2]) { \ +#define check_bool(flg) switch (argv[i][2]) { \ case '\0': what2do ^= flg; break; \ case 'y': case 'Y': case 't': case 'T': \ case '+': case '1': what2do |= flg; break; \ @@ -73,22 +73,22 @@ main( for (i = 1; i < argc && argv[i][0] == '-'; i++) switch (argv[i][1]) { case 'h': - bool(DO_HUMAN); + check_bool(DO_HUMAN); break; case 'a': - bool(DO_ACUITY); + check_bool(DO_ACUITY); break; case 'v': - bool(DO_VEIL); + check_bool(DO_VEIL); break; case 's': - bool(DO_HSENS); + check_bool(DO_HSENS); break; case 'c': - bool(DO_COLOR); + check_bool(DO_COLOR); break; case 'w': - bool(DO_CWEIGHT); + check_bool(DO_CWEIGHT); break; case 'i': if (i+1 >= argc) goto userr; @@ -97,10 +97,10 @@ main( else what2do &= ~DO_FIXHIST; break; case 'I': - bool(DO_PREHIST); + check_bool(DO_PREHIST); break; case 'l': - bool(DO_LINEAR); + check_bool(DO_LINEAR); break; case 'p': if (i+8 >= argc) goto userr; @@ -195,7 +195,7 @@ userr: progname); exit(1); return 1; /* pro forma return */ -#undef bool +#undef check_bool } @@ -217,7 +217,7 @@ headline( /* process header line */ ) { static RGBPRIMS inprimS; - char fmt[32]; + char fmt[MAXFMTLEN]; if (formatval(fmt, s)) { /* check if format string */ if (!strcmp(fmt,COLRFMT)) lumf = rgblum; @@ -225,9 +225,9 @@ headline( /* process header line */ else lumf = NULL; return(0); /* don't echo */ } - if (isprims(s)) { /* get input primaries */ - primsval(inprimS, s); - inprims= inprimS; + /* get input primaries */ + if (isprims(s) && primsval(inprimS, s)) { + inprims = inprimS; return(0); /* don't echo */ } if (isexpos(s)) { /* picture exposure */