Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!news.mixmin.net!feed.xsnews.nl!border-2.ams.xsnews.nl!feeder.xennanews.com!nf37.xennanews.com!not-for-mail From: Cecil Westerhof Newsgroups: comp.lang.postscript Subject: Re: Why is my file access mode wrong Organization: Decebal Computing References: <87boecehrn.fsf@Compaq.site.inet> X-Homepage: http://www.decebal.nl/ Date: Sun, 02 Dec 2012 20:01:01 +0100 Message-ID: <87ehj8p9ci.fsf@Compaq.site.inet> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) Cancel-Lock: sha1:Nt48vwSTZVE1ZyYPlC7wAU13Ja4= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Complaints-To: abuse@xennanews.com Lines: 53 NNTP-Posting-Host: 84.53.123.169 (84.53.123.169) NNTP-Posting-Date: Sun, 02 Dec 2012 20:14:31 +0100 Xref: csiph.com comp.lang.postscript:1126 Op zondag 2 dec 2012 17:47 CET schreef Helge Blischke: >> I am still experimenting with postscript. I now have a script which >> starts with: >> /inputFile INPUT (r) file def >> >> I call it with: >> ps2pdf -sINPUT=quotes.org quote.ps >> >> But get: >> Error: /invalidfileaccess in --file-- >> Operand stack: >> inputFile (quotes.org) (r) >> Execution stack: >> %interp_exit .runexec2 --nostringval-- --nostringval-- >> --nostringval-- 2 %stopped_push --nostringval-- >> --nostringval-- --nostringval-- false 1 %stopped_push >> 1910 1 3 %oparray_pop 1909 1 3 %oparray_pop 1893 >> 1 3 %oparray_pop 1787 1 3 %oparray_pop >> --nostringval-- %errorexec_pop .runexec2 --nostringval-- >> --nostringval-- --nostringval-- 2 %stopped_push >> --nostringval-- >> Dictionary stack: >> --dict:1175/3371(ro)(G)-- --dict:0/20(G)-- --dict:77/200(L)-- >> Current allocation mode is local >> Current file position is 26 >> GPL Ghostscript 9.00: Unrecoverable error, exit code 1 >> >> What am I doing wrong? >> > > the ps2pdf utility calls Ghostscript with the option "-dSAFER" which denies > any file operations except for %stdin and %stdout. That was the problem. I now use: gs -dCompatibilityLevel=1.4 \ -q \ -dNOPAUSE \ -dBATCH \ -sDEVICE=pdfwrite \ -sstdout=%stderr \ -sOutputFile=test.pdf \ -c .setpdfwrite \ -f test.ps The script test.ps is example 7.7 from Thinking in Postscript. After solving a bug, that works. For closing the file fd is used instead of datafile. I'll notify glenn@rightbrain.com about it. -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof