Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pdf/xpdf/XRef.cc
diff options
context:
space:
mode:
authorMichael Meeks <mmeeks@src.gnome.org>1999-08-23 13:13:52 (GMT)
committer Michael Meeks <mmeeks@src.gnome.org>1999-08-23 13:13:52 (GMT)
commit6bf8080516ffe50afba89f1f07f486000423bcd8 (patch)
tree79e578d99e8a0380d0c1f07700e3bee0c5c7e3be /pdf/xpdf/XRef.cc
parentae5543d95470154936edb9f777d0d6c1c74a226f (diff)
New version using Derek's merged Stream stuff,
disabled helper utils build until I sync with Derek.
Diffstat (limited to 'pdf/xpdf/XRef.cc')
-rw-r--r--pdf/xpdf/XRef.cc28
1 files changed, 15 insertions, 13 deletions
diff --git a/pdf/xpdf/XRef.cc b/pdf/xpdf/XRef.cc
index c725a4a..f3672de 100644
--- a/pdf/xpdf/XRef.cc
+++ b/pdf/xpdf/XRef.cc
@@ -38,7 +38,7 @@ XRef *xref = NULL;
// XRef
//------------------------------------------------------------------------
-XRef::XRef(Stream *str1) {
+XRef::XRef(BaseStream *str) {
XRef *oldXref;
int pos;
int i;
@@ -53,14 +53,14 @@ XRef::XRef(Stream *str1) {
xref = NULL;
// read the trailer
- str = str1;
+ this->str = str;
start = str->getStart();
- pos = readTrailer(str);
+ pos = readTrailer();
// if there was a problem with the trailer,
// try to reconstruct the xref table
if (pos == 0) {
- if (!(ok = constructXRef(str))) {
+ if (!(ok = constructXRef())) {
xref = oldXref;
return;
}
@@ -72,7 +72,7 @@ XRef::XRef(Stream *str1) {
entries[i].offset = -1;
entries[i].used = gFalse;
}
- while (readXRef(str, &pos)) ;
+ while (readXRef(&pos)) ;
// if there was a problem with the xref table,
// try to reconstruct it
@@ -80,7 +80,7 @@ XRef::XRef(Stream *str1) {
gfree(entries);
size = 0;
entries = NULL;
- if (!(ok = constructXRef(str))) {
+ if (!(ok = constructXRef())) {
xref = oldXref;
return;
}
@@ -105,7 +105,7 @@ XRef::~XRef() {
// Read startxref position, xref table size, and root. Returns
// first xref position.
-int XRef::readTrailer(Stream *str) {
+int XRef::readTrailer() {
Parser *parser;
Object obj;
char buf[xrefSearchSize+1];
@@ -166,7 +166,7 @@ int XRef::readTrailer(Stream *str) {
// read trailer dict
obj.initNull();
- parser = new Parser(new Lexer(str->subStream (start + pos1, -1, &obj)));
+ parser = new Parser(new Lexer(str->makeSubStream(start + pos1, -1, &obj)));
parser->getObj(&trailerDict);
if (trailerDict.isDict()) {
trailerDict.dictLookupNF("Size", &obj);
@@ -193,7 +193,7 @@ int XRef::readTrailer(Stream *str) {
}
// Read an xref table and the prev pointer from the trailer.
-GBool XRef::readXRef(Stream *str, int *pos) {
+GBool XRef::readXRef(int *pos) {
Parser *parser;
Object obj, obj2;
char s[20];
@@ -258,7 +258,7 @@ GBool XRef::readXRef(Stream *str, int *pos) {
// read prev pointer from trailer dictionary
obj.initNull();
- parser = new Parser(new Lexer(str->subStream (str->getPos(), -1, &obj)));
+ parser = new Parser(new Lexer(str->makeSubStream(str->getPos(), -1, &obj)));
parser->getObj(&obj);
if (!obj.isCmd("trailer"))
goto err1;
@@ -287,7 +287,7 @@ GBool XRef::readXRef(Stream *str, int *pos) {
}
// Attempt to construct an xref table for a damaged file.
-GBool XRef::constructXRef(Stream *str) {
+GBool XRef::constructXRef() {
Parser *parser;
Object obj;
char buf[256];
@@ -311,7 +311,8 @@ GBool XRef::constructXRef(Stream *str) {
// got trailer dictionary
if (!strncmp(p, "trailer", 7)) {
obj.initNull();
- parser = new Parser(new Lexer(str->subStream(start + pos + 8, -1, &obj)));
+ parser = new Parser(new Lexer(
+ str->makeSubStream(start + pos + 8, -1, &obj)));
if (!trailerDict.isNone())
trailerDict.free();
parser->getObj(&trailerDict);
@@ -414,7 +415,8 @@ Object *XRef::fetch(int num, int gen, Object *obj) {
e = &entries[num];
if (e->gen == gen && e->offset >= 0) {
obj1.initNull();
- parser = new Parser(new Lexer(str->subStream(start + e->offset, -1, &obj1)));
+ parser = new Parser(new Lexer(
+ str->makeSubStream(start + e->offset, -1, &obj1)));
parser->getObj(&obj1);
parser->getObj(&obj2);
parser->getObj(&obj3);