tpage: check for gs failure - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit c383979b0128640f4c658acdd0a383430b49f1da
DIR parent b4d0ac961262aace74431d78fe952a404a6f25a1
HTML Author: Russ Cox <rsc@swtch.com>
Date: Tue, 25 Oct 2011 12:55:09 -0400
page: check for gs failure
Diffstat:
M src/cmd/page/pdf.c | 8 ++++++++
1 file changed, 8 insertions(+), 0 deletions(-)
---
DIR diff --git a/src/cmd/page/pdf.c b/src/cmd/page/pdf.c
t@@ -103,6 +103,14 @@ initpdf(Biobuf *b, int argc, char **argv, uchar *buf, int nbuf)
gscmd(&pdf->gs, "(%s) (r) file { DELAYSAFER { .setsafe } if } stopped pop pdfopen begin\n", fn);
gscmd(&pdf->gs, "pdfpagecount PAGE==\n");
p = Brdline(&pdf->gs.gsrd, '\n');
+ if(p == nil) {
+ if(Blinelen(&pdf->gs.gsrd) > 0) {
+ fprint(2, "unexpected output (too long) from gs\n");
+ return nil;
+ }
+ fprint(2, "early EOF from gs - is ghostscript installed?\n");
+ return nil;
+ }
npage = atoi(p);
if(npage < 1) {
fprint(2, "no pages?\n");