summaryrefslogtreecommitdiff
path: root/Build/source/libs/xpdf/xpdf-src/xpdf/pdffonts.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/xpdf/xpdf-src/xpdf/pdffonts.cc')
-rw-r--r--Build/source/libs/xpdf/xpdf-src/xpdf/pdffonts.cc20
1 files changed, 5 insertions, 15 deletions
diff --git a/Build/source/libs/xpdf/xpdf-src/xpdf/pdffonts.cc b/Build/source/libs/xpdf/xpdf-src/xpdf/pdffonts.cc
index ad9e40d7c62..bde57557c3c 100644
--- a/Build/source/libs/xpdf/xpdf-src/xpdf/pdffonts.cc
+++ b/Build/source/libs/xpdf/xpdf-src/xpdf/pdffonts.cc
@@ -96,10 +96,6 @@ static char *seenObjs;
static int numObjects;
int main(int argc, char *argv[]) {
-#if USE_EXCEPTIONS
- try {
-#endif
-
char *fileName;
GString *ownerPW, *userPW;
GBool ok;
@@ -178,21 +174,22 @@ int main(int argc, char *argv[]) {
numObjects = doc->getXRef()->getNumObjects();
seenObjs = (char *)gmalloc(numObjects);
memset(seenObjs, 0, numObjects);
- annots = doc->getAnnots();
for (pg = firstPage; pg <= lastPage; ++pg) {
page = doc->getCatalog()->getPage(pg);
if ((resDict = page->getResourceDict())) {
scanFonts(resDict, doc);
}
- int nAnnots = annots->getNumAnnots(pg);
- for (i = 0; i < nAnnots; ++i) {
- if (annots->getAnnot(pg, i)->getAppearance(&obj1)->isStream()) {
+ annots = new Annots(doc, page->getAnnots(&obj1));
+ obj1.free();
+ for (i = 0; i < annots->getNumAnnots(); ++i) {
+ if (annots->getAnnot(i)->getAppearance(&obj1)->isStream()) {
obj1.streamGetDict()->lookupNF("Resources", &obj2);
scanFonts(&obj2, doc);
obj2.free();
}
obj1.free();
}
+ delete annots;
}
if ((form = doc->getCatalog()->getForm())) {
for (i = 0; i < form->getNumFields(); ++i) {
@@ -225,13 +222,6 @@ int main(int argc, char *argv[]) {
gMemReport(stderr);
return exitCode;
-
-#if USE_EXCEPTIONS
- } catch (GMemException e) {
- fprintf(stderr, "Out of memory\n");
- return 98;
- }
-#endif
}
static void scanFonts(Object *obj, PDFDoc *doc) {