--- ray/src/util/rad.c 2015/08/02 01:32:15 2.120 +++ ray/src/util/rad.c 2015/10/28 02:52:17 2.123 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: rad.c,v 2.120 2015/08/02 01:32:15 greg Exp $"; +static const char RCSid[] = "$Id: rad.c,v 2.123 2015/10/28 02:52:17 greg Exp $"; #endif /* * Executive program for oconv, rpict and pfilt @@ -806,6 +806,13 @@ renderopts( /* set rendering options */ { char pmapf[256], *bw; + if (vdef(PGMAP)) { + *op = '\0'; + bw = sskip2(vval(PGMAP), 2); + atos(pmapf, sizeof(pmapf), vval(PGMAP)); + op = addarg(addarg(op, "-ap"), pmapf); + if (atoi(bw) > 0) op = addarg(op, bw); + } switch(vscale(QUALITY)) { case LOW: lowqopts(op, po); @@ -817,12 +824,6 @@ renderopts( /* set rendering options */ hiqopts(op, po); break; } - if (vdef(PGMAP)) { - bw = sskip2(vval(PGMAP), 2); - atos(pmapf, sizeof(pmapf), vval(PGMAP)); - op = addarg(addarg(op, "-ap"), pmapf); - if (atoi(bw) > 0) op = addarg(op, bw); - } if (vdef(PCMAP)) { bw = sskip2(vval(PCMAP), 2); atos(pmapf, sizeof(pmapf), vval(PCMAP)); @@ -1344,7 +1345,7 @@ getview( /* get view n, or NULL if none */ } numview: mv = nvalue(VIEWS, n); /* use view n */ - if ((vn != NULL) & (mv != NULL)) + if ((vn != NULL) & (mv != NULL)) { if (*mv != '-') { char *mv2 = mv; while (*mv2 && !isspace(*mv2)) @@ -1352,7 +1353,7 @@ numview: *vn = '\0'; } else sprintf(vn, "%d", n+1); - + } return(specview(mv)); } @@ -1520,6 +1521,7 @@ rpict( /* run rpict and pfilt for each view */ fprintf(stderr, "%s: cannot create\n", pfile); quit(1); } + pfile[-5] = '\0'; pfile = NULL; } }