code: plan9front

ref: 72d08816abaa2935e8055d9cdfd73b59df5f9bd3
dir: /sys/lib/ghostscript/unprot.ps/

View raw version
%    Copyright (C) 1991, 1992, 1998 Aladdin Enterprises.  All rights reserved.
% 
% This software is provided AS-IS with no warranty, either express or
% implied.
% 
% This software is distributed under license and may not be copied,
% modified or distributed except as expressly authorized under the terms
% of the license contained in the file LICENSE in this distribution.
% 
% For more information about licensing, please refer to
% http://www.ghostscript.com/licensing/. For information on
% commercial licensing, go to http://www.artifex.com/licensing/ or
% contact Artifex Software, Inc., 101 Lucas Valley Road #110,
% San Rafael, CA  94903, U.S.A., +1(415)492-9861.

% $Id: unprot.ps,v 1.4 2002/02/21 21:49:28 giles Exp $
% Disable all access checks.  This is useful for printing out
% eexec-encrypted Type 1 fonts, and similar purposes.

systemdict wcheck
 { /protdict systemdict def
 }
 { (Please restart Ghostscript with the -dWRITESYSTEMDICT switch.\n) print
   (Some access checks will remain active if you do not do this.\n) print
   flush
   /protdict userdict def
 }
ifelse

% The procedures we're about to define will go in systemdict,
% so they must be allocated in global VM.

.currentglobal true .setglobal

protdict begin
   /readonly. /readonly load def
   /executeonly. /executeonly load def
   /noaccess. /noaccess load def
   /readonly { } odef
   /readonly.. /readonly load def
   /executeonly { } odef
   /executeonly.. /executeonly load def
   /noaccess { } odef
   /noaccess.. /noaccess load def
end

% Disable the access checks.

/unprot
 { protdict begin
   /readonly /readonly.. load def
   /executeonly /executeonly.. load def
   /noaccess /noaccess.. load def
   end
 } bind def

% Re-enable the access checks.

/reprot
 { protdict begin
   /readonly /readonly. load def
   /executeonly /executeonly. load def
   /noaccess /noaccess. load def
   end
 } bind def

.setglobal