[poppler] poppler/PDFDoc.cc poppler/XRef.cc poppler/XRef.h
Albert Astals Cid
aacid at kemper.freedesktop.org
Sat Feb 18 08:23:08 PST 2012
poppler/PDFDoc.cc | 10 +++++-----
poppler/XRef.cc | 12 +-----------
poppler/XRef.h | 6 ++----
3 files changed, 8 insertions(+), 20 deletions(-)
New commits:
commit 33aded82fbd98832eaab7cb7487fe6a1c7ef15f5
Author: Albert Astals Cid <aacid at kde.org>
Date: Sat Feb 18 17:21:10 2012 +0100
Rework XRef getNumObjects and getSize
Kill XRef::last since we do not maintain it correctly, now getNumObjects returns size as it did
Kill getSize as it just returns the same as getNumObjects
diff --git a/poppler/PDFDoc.cc b/poppler/PDFDoc.cc
index 6e124fd..ecc5980 100644
--- a/poppler/PDFDoc.cc
+++ b/poppler/PDFDoc.cc
@@ -14,7 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2005, 2006, 2008 Brad Hards <bradh at frogmouth.net>
-// Copyright (C) 2005, 2007-2009, 2011 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2007-2009, 2011, 2012 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2008 Julien Rebetez <julienr at svn.gnome.org>
// Copyright (C) 2008, 2010 Pino Toscano <pino at kde.org>
// Copyright (C) 2008, 2010, 2011 Carlos Garcia Campos <carlosgc at gnome.org>
@@ -608,7 +608,7 @@ int PDFDoc::savePageAs(GooString *name, int pageNo)
FILE *f;
OutStream *outStr;
XRef *yRef, *countRef;
- int rootNum = getXRef()->getSize() + 1;
+ int rootNum = getXRef()->getNumObjects() + 1;
if (pageNo < 1 || pageNo > getNumPages()) {
error(errInternal, -1, "Illegal pageNo: {0:d}({1:d})", pageNo, getNumPages() );
@@ -851,7 +851,7 @@ void PDFDoc::saveIncrementalUpdate (OutStream* outStr)
obj1.free();
}
}
- if (uxref->getSize() == 0) { //we have nothing to update
+ if (uxref->getNumObjects() == 0) { //we have nothing to update
delete uxref;
return;
}
@@ -859,7 +859,7 @@ void PDFDoc::saveIncrementalUpdate (OutStream* outStr)
Guint uxrefOffset = outStr->getPos();
uxref->writeToFile(outStr, gFalse /* do not write unnecessary entries */);
- writeTrailer(uxrefOffset, xref->getSize(), outStr, gTrue);
+ writeTrailer(uxrefOffset, xref->getNumObjects(), outStr, gTrue);
delete uxref;
}
@@ -899,7 +899,7 @@ void PDFDoc::saveCompleteRewrite (OutStream* outStr)
Guint uxrefOffset = outStr->getPos();
uxref->writeToFile(outStr, gTrue /* write all entries */);
- writeTrailer(uxrefOffset, uxref->getSize(), outStr, gFalse);
+ writeTrailer(uxrefOffset, uxref->getNumObjects(), outStr, gFalse);
delete uxref;
diff --git a/poppler/XRef.cc b/poppler/XRef.cc
index 5f44d80..699eb6b 100644
--- a/poppler/XRef.cc
+++ b/poppler/XRef.cc
@@ -15,7 +15,7 @@
//
// Copyright (C) 2005 Dan Sheridan <dan.sheridan at postman.org.uk>
// Copyright (C) 2005 Brad Hards <bradh at frogmouth.net>
-// Copyright (C) 2006, 2008, 2010 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006, 2008, 2010, 2012 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2007-2008 Julien Rebetez <julienr at svn.gnome.org>
// Copyright (C) 2007 Carlos Garcia Campos <carlosgc at gnome.org>
// Copyright (C) 2009, 2010 Ilya Gorenbein <igorenbein at finjan.com>
@@ -261,7 +261,6 @@ void XRef::init() {
entries = NULL;
capacity = 0;
size = 0;
- last = -1;
streamEnds = NULL;
streamEndsLen = 0;
objStrs = new PopplerCache(5);
@@ -545,9 +544,6 @@ GBool XRef::readXRefTable(Parser *parser, Guint *pos, std::vector<Guint> *follow
entries[0] = entries[1];
entries[1].offset = 0xffffffff;
}
- if (i > last) {
- last = i;
- }
}
}
}
@@ -766,9 +762,6 @@ GBool XRef::readXRefStreamSection(Stream *xrefStr, int *w, int first, int n) {
default:
return gFalse;
}
- if (i > last) {
- last = i;
- }
}
}
@@ -887,9 +880,6 @@ GBool XRef::constructXRef(GBool *wasReconstructed) {
entries[num].offset = pos - start;
entries[num].gen = gen;
entries[num].type = xrefEntryUncompressed;
- if (num > last) {
- last = num;
- }
}
}
}
diff --git a/poppler/XRef.h b/poppler/XRef.h
index cc8f64d..c7b20bd 100644
--- a/poppler/XRef.h
+++ b/poppler/XRef.h
@@ -14,7 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2005 Brad Hards <bradh at frogmouth.net>
-// Copyright (C) 2006, 2008, 2010, 2011 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006, 2008, 2010-2012 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2007-2008 Julien Rebetez <julienr at svn.gnome.org>
// Copyright (C) 2007 Carlos Garcia Campos <carlosgc at gnome.org>
// Copyright (C) 2010 Ilya Gorenbein <igorenbein at finjan.com>
@@ -112,7 +112,7 @@ public:
Object *getDocInfoNF(Object *obj);
// Return the number of objects in the xref table.
- int getNumObjects() { return last + 1; }
+ int getNumObjects() { return size; }
// Return the catalog object reference.
int getRootNum() { return rootNum; }
@@ -126,7 +126,6 @@ public:
int getNumEntry(Guint offset);
// Direct access.
- int getSize() { return size; }
XRefEntry *getEntry(int i);
Object *getTrailerDict() { return &trailerDict; }
@@ -144,7 +143,6 @@ private:
XRefEntry *entries; // xref entries
int capacity; // size of <entries> array
int size; // number of entries
- int last; // last used index in <entries>
int rootNum, rootGen; // catalog dict
GBool ok; // true if xref table is valid
int errCode; // error code (if <ok> is false)
More information about the poppler
mailing list