diff options
Diffstat (limited to 'Build/source/libs/xpdf/xpdf-3.02-PATCHES/patch-40-objectStream-support-for-pdftosrc')
-rw-r--r-- | Build/source/libs/xpdf/xpdf-3.02-PATCHES/patch-40-objectStream-support-for-pdftosrc | 54 |
1 files changed, 30 insertions, 24 deletions
diff --git a/Build/source/libs/xpdf/xpdf-3.02-PATCHES/patch-40-objectStream-support-for-pdftosrc b/Build/source/libs/xpdf/xpdf-3.02-PATCHES/patch-40-objectStream-support-for-pdftosrc index 03d11926eaa..773080db9f5 100644 --- a/Build/source/libs/xpdf/xpdf-3.02-PATCHES/patch-40-objectStream-support-for-pdftosrc +++ b/Build/source/libs/xpdf/xpdf-3.02-PATCHES/patch-40-objectStream-support-for-pdftosrc @@ -5,9 +5,9 @@ from: Han The Thanh <thanh@pdftex.org> -diff -ur -N xpdf-3.02.orig/xpdf/XRef.cc xpdf-3.02/xpdf/XRef.cc ---- xpdf-3.02.orig/xpdf/XRef.cc 2007-02-27 23:05:52.000000000 +0100 -+++ xpdf-3.02/xpdf/XRef.cc 2009-05-08 21:39:44.000000000 +0200 +diff -ur xpdf-3.02.orig/xpdf/XRef.cc xpdf-3.02/xpdf/XRef.cc +--- xpdf-3.02.orig/xpdf/XRef.cc 2009-08-14 23:05:08.000000000 +0200 ++++ xpdf-3.02/xpdf/XRef.cc 2009-10-15 14:32:25.000000000 +0200 @@ -5,6 +5,9 @@ // Copyright 1996-2003 Glyph & Cog, LLC // @@ -18,7 +18,7 @@ diff -ur -N xpdf-3.02.orig/xpdf/XRef.cc xpdf-3.02/xpdf/XRef.cc #include <aconf.h> -@@ -45,34 +48,9 @@ +@@ -45,37 +48,9 @@ // ObjectStream //------------------------------------------------------------------------ @@ -29,6 +29,8 @@ diff -ur -N xpdf-3.02.orig/xpdf/XRef.cc xpdf-3.02/xpdf/XRef.cc - // generation 0. - ObjectStream(XRef *xref, int objStrNumA); - +- GBool isOk() { return ok; } +- - ~ObjectStream(); - - // Return the object number of this object stream. @@ -44,6 +46,7 @@ diff -ur -N xpdf-3.02.orig/xpdf/XRef.cc xpdf-3.02/xpdf/XRef.cc - int nObjects; // number of objects in the stream - Object *objs; // the objects (length = nObjects) - int *objNums; // the object numbers (length = nObjects) +- GBool ok; -}; - ObjectStream::ObjectStream(XRef *xref, int objStrNumA) { @@ -53,15 +56,15 @@ diff -ur -N xpdf-3.02.orig/xpdf/XRef.cc xpdf-3.02/xpdf/XRef.cc Object objStr, obj1, obj2; int first, i; -@@ -80,6 +58,7 @@ +@@ -83,6 +58,7 @@ nObjects = 0; objs = NULL; objNums = NULL; + offsets = NULL; + ok = gFalse; if (!xref->fetch(objStrNum, 0, &objStr)->isStream()) { - goto err1; -@@ -100,6 +79,7 @@ +@@ -104,6 +80,7 @@ goto err1; } first = obj1.getInt(); @@ -69,34 +72,34 @@ diff -ur -N xpdf-3.02.orig/xpdf/XRef.cc xpdf-3.02/xpdf/XRef.cc obj1.free(); if (first < 0) { goto err1; -@@ -121,7 +101,7 @@ +@@ -132,7 +109,7 @@ obj1.free(); obj2.free(); delete parser; - gfree(offsets); -+// gfree(offsets); ++// gfree(offsets); goto err1; } objNums[i] = obj1.getInt(); -@@ -131,7 +111,7 @@ +@@ -142,7 +119,7 @@ if (objNums[i] < 0 || offsets[i] < 0 || (i > 0 && offsets[i] < offsets[i-1])) { delete parser; - gfree(offsets); -+// gfree(offsets); ++// gfree(offsets); goto err1; } } -@@ -160,7 +140,7 @@ +@@ -171,7 +148,7 @@ delete parser; } - gfree(offsets); -+// gfree(offsets); ++//gfree(offsets); + ok = gTrue; err1: - objStr.free(); -@@ -177,6 +157,7 @@ +@@ -188,6 +165,7 @@ delete[] objs; } gfree(objNums); @@ -104,9 +107,9 @@ diff -ur -N xpdf-3.02.orig/xpdf/XRef.cc xpdf-3.02/xpdf/XRef.cc } Object *ObjectStream::getObject(int objIdx, int objNum, Object *obj) { -diff -ur -N xpdf-3.02.orig/xpdf/XRef.h xpdf-3.02/xpdf/XRef.h +diff -ur xpdf-3.02.orig/xpdf/XRef.h xpdf-3.02/xpdf/XRef.h --- xpdf-3.02.orig/xpdf/XRef.h 2007-02-27 23:05:52.000000000 +0100 -+++ xpdf-3.02/xpdf/XRef.h 2009-05-08 21:39:41.000000000 +0200 ++++ xpdf-3.02/xpdf/XRef.h 2009-10-15 14:32:30.000000000 +0200 @@ -5,6 +5,9 @@ // Copyright 1996-2003 Glyph & Cog, LLC // @@ -117,7 +120,7 @@ diff -ur -N xpdf-3.02.orig/xpdf/XRef.h xpdf-3.02/xpdf/XRef.h #ifndef XREF_H #define XREF_H -@@ -21,7 +24,36 @@ +@@ -21,7 +24,39 @@ class Dict; class Stream; class Parser; @@ -130,6 +133,8 @@ diff -ur -N xpdf-3.02.orig/xpdf/XRef.h xpdf-3.02/xpdf/XRef.h + // generation 0. + ObjectStream(XRef *xref, int objStrNumA); + ++ GBool isOk() { return ok; } ++ + ~ObjectStream(); + + // Return the object number of this object stream. @@ -144,18 +149,19 @@ diff -ur -N xpdf-3.02.orig/xpdf/XRef.h xpdf-3.02/xpdf/XRef.h + +private: + -+ int objStrNum; // object number of the object stream -+ int nObjects; // number of objects in the stream -+ Object *objs; // the objects (length = nObjects) -+ int *objNums; // the object numbers (length = nObjects) -+ int *offsets; // the object offsets (length = nObjects) ++ int objStrNum; // object number of the object stream ++ int nObjects; // number of objects in the stream ++ Object *objs; // the objects (length = nObjects) ++ int *objNums; // the object numbers (length = nObjects) ++ int *offsets; // the object offsets (length = nObjects) + Guint firstOffset; ++ GBool ok; +}; + //------------------------------------------------------------------------ // XRef -@@ -96,6 +128,7 @@ +@@ -96,6 +131,7 @@ int getSize() { return size; } XRefEntry *getEntry(int i) { return &entries[i]; } Object *getTrailerDict() { return &trailerDict; } |