diff options
author | Michael Meeks <mmeeks@src.gnome.org> | 1999-08-20 21:43:22 (GMT) |
---|---|---|
committer | Michael Meeks <mmeeks@src.gnome.org> | 1999-08-20 21:43:22 (GMT) |
commit | fedba8db5f2a32dbfffee5699ee71365871fe45a (patch) | |
tree | b799b028e5cea807fa524bb8d722d1c26039994c /pdf/xpdf/Stream.cc | |
parent | bf3b381529f5388bd1bda8ed8fafb247a7b8a9fc (diff) |
Fixed vicious bug in stream stuff, should work now.
Diffstat (limited to 'pdf/xpdf/Stream.cc')
-rw-r--r-- | pdf/xpdf/Stream.cc | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/pdf/xpdf/Stream.cc b/pdf/xpdf/Stream.cc index c15d517..08b806a 100644 --- a/pdf/xpdf/Stream.cc +++ b/pdf/xpdf/Stream.cc @@ -544,7 +544,7 @@ FILE *fileOpen (GString *fileName1) { GString *fileName2; // try to open file fileName2 = NULL; - FILE *file; + FILE *file = NULL; #ifdef VMS if (!(file = fopen(fileName->getCString(), "rb", "ctx=stm"))) { @@ -569,6 +569,9 @@ FILE *fileOpen (GString *fileName1) { return file; } +FileStream::FileStream() { +} + FileStream::FileStream(FILE *f1) { f = f1; start = 0; @@ -577,16 +580,20 @@ FileStream::FileStream(FILE *f1) { bufPos = start; savePos = -1; dict.initNull(); - checkHeader(); + if (f) + checkHeader(); } Stream *FileStream::subStream (int start1, int length1, Object *dict1) { - start = start1; - length = length1; - bufPtr = bufEnd = buf; - bufPos = start; - savePos = -1; - dict = *dict1; + FileStream *scp = new FileStream (); + scp->f = f; + scp->start = start1; + scp->length = length1; + scp->bufPtr = bufEnd = buf; + scp->bufPos = start; + scp->savePos = -1; + scp->dict = *dict1; + return scp; } FileStream::~FileStream() { |