[gs-cvs] rev 7749 - in trunk/gs: doc lib
alexcher at ghostscript.com
alexcher at ghostscript.com
Wed Feb 28 09:03:29 PST 2007
Author: alexcher
Date: 2007-02-28 09:03:28 -0800 (Wed, 28 Feb 2007)
New Revision: 7749
Modified:
trunk/gs/doc/pscet_status.txt
trunk/gs/lib/gs_lev2.ps
Log:
Validate arguments of the operator startjob. Fix CET 31-10-02.
DIFFERENCES:
No other Comparefiles or CET differences.
Modified: trunk/gs/doc/pscet_status.txt
===================================================================
--- trunk/gs/doc/pscet_status.txt 2007-02-27 21:11:08 UTC (rev 7748)
+++ trunk/gs/doc/pscet_status.txt 2007-02-28 17:03:28 UTC (rev 7749)
@@ -5248,7 +5248,7 @@
31-10-1 OK Minor differences in positions and character shapes - ADC
-31-10-2 DIFF startjob result differ assign Ray
+31-10-2 OK Fixed in rev. 7749. - Alex
31-10-3 OK
Modified: trunk/gs/lib/gs_lev2.ps
===================================================================
--- trunk/gs/lib/gs_lev2.ps 2007-02-27 21:11:08 UTC (rev 7748)
+++ trunk/gs/lib/gs_lev2.ps 2007-02-28 17:03:28 UTC (rev 7749)
@@ -441,10 +441,10 @@
% We could protect the job information better, but we aren't attempting
% (currently) to protect ourselves against maliciousness.
-/.jobsave null def % top-level save object
+/.jobsave //null def % top-level save object
/.jobsavelevel 0 def % save depth of job (0 if .jobsave is null,
% 1 otherwise)
-/.adminjob true def % status of current unencapsulated job
+/.adminjob //true def % status of current unencapsulated job
end % serverdict
@@ -457,10 +457,10 @@
% it doesn't reset stdin/stdout.
/.startnewjob { % <exit_bool> <password_level>
% .startnewjob -
- serverdict /.jobsave get dup null eq { pop } { restore } ifelse
+ serverdict /.jobsave get dup //null eq { pop } { restore } ifelse
exch {
% Unencapsulated job
- serverdict /.jobsave null put
+ serverdict /.jobsave //null put
serverdict /.jobsavelevel 0 put
serverdict /.adminjob 3 -1 roll 1 gt put
} {
@@ -473,7 +473,7 @@
% Reset the interpreter state.
clear cleardictstack
initgraphics
- false setglobal
+ //false setglobal
2 vmreclaim % Make sure GC'ed memory is reclaimed and freed.
} bind def
/.startjob { % <exit_bool> <password> <finish_proc>
@@ -486,20 +486,23 @@
% passing the finish_proc to be executed afterwards.
2 .stop
} { % Password check failed
- pop pop pop false
+ pop pop pop //false
} ifelse
} odef
/startjob { % <exit_bool> <password> startjob <ok_bool>
% This is a hack. We really need some way to indicate explicitly
% to the interpreter that we are under control of a job server.
- { .startnewjob true } .startjob
+ 1 .argindex type /booleantype ne {
+ /startjob .systemvar /typecheck signalerror
+ } if
+ { .startnewjob //true } .startjob
} odef
% The procedure to undo the job encapsulation
/.endjob {
clear cleardictstack
- serverdict /.jobsave get dup null eq { pop } { restore } ifelse
- serverdict /.jobsave null put
+ serverdict /.jobsave get dup //null eq { pop } { restore } ifelse
+ serverdict /.jobsave //null put
2 vmreclaim % recover local and global VM
} odef
@@ -521,7 +524,7 @@
serverdict begin
/exitserver { % <password> exitserver -
- true exch { .startnewjob } .startjob not {
+ //true exch { .startnewjob } .startjob not {
/exitserver /invalidaccess signalerror
} if
} bind def
More information about the gs-cvs
mailing list