summaryrefslogtreecommitdiff
path: root/Build/source/libs/xpdf/xpdf-3.02-PATCHES/patch-40-objectStream-support-for-pdftosrc
diff options
context:
space:
mode:
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-pdftosrc54
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; }