[gs-cvs] rev 7167 - in trunk/gs: lib src
alexcher at ghostscript.com
alexcher at ghostscript.com
Mon Nov 6 17:13:42 PST 2006
Author: alexcher
Date: 2006-11-06 17:13:42 -0800 (Mon, 06 Nov 2006)
New Revision: 7167
Modified:
trunk/gs/lib/gs_lev2.ps
trunk/gs/src/zcie.c
trunk/gs/src/zcrd.c
Log:
Fix CET 09-32:
Adjust error reporting from setcolorrendering to match the test.
Make TransformPQR a required parameter, as specified by the PLRM.
DIFFERENCES:
None
Modified: trunk/gs/lib/gs_lev2.ps
===================================================================
--- trunk/gs/lib/gs_lev2.ps 2006-11-06 18:58:56 UTC (rev 7166)
+++ trunk/gs/lib/gs_lev2.ps 2006-11-07 01:13:42 UTC (rev 7167)
@@ -737,7 +737,15 @@
/.colorrenderingtypes 5 dict def
/setcolorrendering { % <crd> setcolorrendering -
- dup /ColorRenderingType get //.colorrenderingtypes exch get exec
+ dup /ColorRenderingType get
+ dup type /integertype ne {
+ /setcolorrendering .systemvar /typecheck signalerror
+ } if
+ //.colorrenderingtypes exch .knownget {
+ exec
+ } {
+ /setcolorrendering .systemvar /rangecheck signalerror
+ } ifelse
} odef
/.setcolorrendering1 where { pop } { (%END CRD) .skipeof } ifelse
Modified: trunk/gs/src/zcie.c
===================================================================
--- trunk/gs/src/zcie.c 2006-11-06 18:58:56 UTC (rev 7166)
+++ trunk/gs/src/zcie.c 2006-11-07 01:13:42 UTC (rev 7167)
@@ -81,10 +81,12 @@
check_proc_only(proc);
}
*pparray = *pvalue;
- } else
+ return 0;
+ } else {
make_const_array(pparray, a_readonly | avm_foreign,
count, &empty_procs[0]);
- return 0;
+ return 1;
+ }
}
/* Get 3 ranges from a dictionary. */
Modified: trunk/gs/src/zcrd.c
===================================================================
--- trunk/gs/src/zcrd.c 2006-11-06 18:58:56 UTC (rev 7166)
+++ trunk/gs/src/zcrd.c 2006-11-07 01:13:42 UTC (rev 7167)
@@ -175,11 +175,17 @@
int code;
ref *pRT;
- if ((code = dict_proc3_param(mem, op, "EncodeLMN", &pcprocs->EncodeLMN)) < 0 ||
- (code = dict_proc3_param(mem, op, "EncodeABC", &pcprocs->EncodeABC)) < 0 ||
- (code = dict_proc3_param(mem, op, "TransformPQR", &pcprocs->TransformPQR)) < 0
- )
- return (code < 0 ? code : gs_note_error(e_rangecheck));
+ code = dict_proc3_param(mem, op, "EncodeLMN", &pcprocs->EncodeLMN);
+ if (code < 0)
+ return code;
+ code = dict_proc3_param(mem, op, "EncodeABC", &pcprocs->EncodeABC);
+ if (code < 0)
+ return code;
+ code = dict_proc3_param(mem, op, "TransformPQR", &pcprocs->TransformPQR);
+ if (code < 0)
+ return code;
+ if (code == 1)
+ return gs_note_error(e_undefined);
if (dict_find_string(op, "RenderTable", &pRT) > 0) {
const ref *prte;
int size;
More information about the gs-cvs
mailing list