Commit 8b4afa428e9caa1a34cad434dfe8a3e01e5a24d3

Authored by m-holger
1 parent afd35f9a

Revert making second parameter of QPDFObjGen::QPDFObjGen optional

Also, change test for QPDFObjGen::isIndirect to obj != 0.
Delete comment from commit afd35f9.
include/qpdf/QPDFObjGen.hh
@@ -38,7 +38,7 @@ class QPDFObjGen @@ -38,7 +38,7 @@ class QPDFObjGen
38 { 38 {
39 } 39 }
40 QPDF_DLL 40 QPDF_DLL
41 - explicit QPDFObjGen(int obj, int gen = 0) : 41 + explicit QPDFObjGen(int obj, int gen) :
42 obj(obj), 42 obj(obj),
43 gen(gen) 43 gen(gen)
44 { 44 {
@@ -77,7 +77,7 @@ class QPDFObjGen @@ -77,7 +77,7 @@ class QPDFObjGen
77 bool 77 bool
78 isIndirect() const 78 isIndirect() const
79 { 79 {
80 - return obj > 0; 80 + return obj != 0;
81 } 81 }
82 QPDF_DLL 82 QPDF_DLL
83 std::string unparse(char separator = ',') const; 83 std::string unparse(char separator = ',') const;
include/qpdf/QPDFObjectHandle.hh
@@ -123,7 +123,6 @@ class QPDFObjectHandle @@ -123,7 +123,6 @@ class QPDFObjectHandle
123 Pipeline* pipeline, 123 Pipeline* pipeline,
124 bool suppress_warnings, 124 bool suppress_warnings,
125 bool will_retry); 125 bool will_retry);
126 - // The following two overloads are deprecated.  
127 QPDF_DLL virtual void 126 QPDF_DLL virtual void
128 provideStreamData(int objid, int generation, Pipeline* pipeline); 127 provideStreamData(int objid, int generation, Pipeline* pipeline);
129 QPDF_DLL virtual bool provideStreamData( 128 QPDF_DLL virtual bool provideStreamData(
libqpdf/QPDF.cc
@@ -1051,7 +1051,7 @@ QPDF::read_xrefStream(qpdf_offset_t xref_offset) @@ -1051,7 +1051,7 @@ QPDF::read_xrefStream(qpdf_offset_t xref_offset)
1051 QPDFObjectHandle xref_obj; 1051 QPDFObjectHandle xref_obj;
1052 try { 1052 try {
1053 xref_obj = readObjectAtOffset( 1053 xref_obj = readObjectAtOffset(
1054 - false, xref_offset, "xref stream", QPDFObjGen(), x_og); 1054 + false, xref_offset, "xref stream", QPDFObjGen(0, 0), x_og);
1055 } catch (QPDFExc&) { 1055 } catch (QPDFExc&) {
1056 // ignore -- report error below 1056 // ignore -- report error below
1057 } 1057 }
@@ -1333,7 +1333,7 @@ QPDF::insertXrefEntry(int obj, int f0, qpdf_offset_t f1, int f2, bool overwrite) @@ -1333,7 +1333,7 @@ QPDF::insertXrefEntry(int obj, int f0, qpdf_offset_t f1, int f2, bool overwrite)
1333 break; 1333 break;
1334 1334
1335 case 2: 1335 case 2:
1336 - this->m->xref_table[QPDFObjGen(obj)] = QPDFXRefEntry(f0, f1, f2); 1336 + this->m->xref_table[QPDFObjGen(obj, 0)] = QPDFXRefEntry(f0, f1, f2);
1337 break; 1337 break;
1338 1338
1339 default: 1339 default:
@@ -2110,7 +2110,7 @@ QPDF::resolveObjectsInStream(int obj_stream_number) @@ -2110,7 +2110,7 @@ QPDF::resolveObjectsInStream(int obj_stream_number)
2110 // xref table and only cache what would actually be resolved here. 2110 // xref table and only cache what would actually be resolved here.
2111 for (auto const& iter: offsets) { 2111 for (auto const& iter: offsets) {
2112 int obj = iter.first; 2112 int obj = iter.first;
2113 - QPDFObjGen og(obj); 2113 + QPDFObjGen og(obj, 0);
2114 QPDFXRefEntry const& entry = this->m->xref_table[og]; 2114 QPDFXRefEntry const& entry = this->m->xref_table[og];
2115 if ((entry.getType() == 2) && 2115 if ((entry.getType() == 2) &&
2116 (entry.getObjStreamNumber() == obj_stream_number)) { 2116 (entry.getObjStreamNumber() == obj_stream_number)) {
libqpdf/QPDF_linearization.cc
@@ -137,8 +137,8 @@ QPDF::isLinearized() @@ -137,8 +137,8 @@ QPDF::isLinearized()
137 return false; 137 return false;
138 } 138 }
139 139
140 - QPDFObjectHandle candidate =  
141 - QPDFObjectHandle::Factory::newIndirect(this, QPDFObjGen(lindict_obj)); 140 + QPDFObjectHandle candidate = QPDFObjectHandle::Factory::newIndirect(
  141 + this, QPDFObjGen(lindict_obj, 0));
142 if (!candidate.isDictionary()) { 142 if (!candidate.isDictionary()) {
143 return false; 143 return false;
144 } 144 }
@@ -327,7 +327,7 @@ QPDF::readHintStream(Pipeline& pl, qpdf_offset_t offset, size_t length) @@ -327,7 +327,7 @@ QPDF::readHintStream(Pipeline& pl, qpdf_offset_t offset, size_t length)
327 { 327 {
328 QPDFObjGen og; 328 QPDFObjGen og;
329 QPDFObjectHandle H = readObjectAtOffset( 329 QPDFObjectHandle H = readObjectAtOffset(
330 - false, offset, "linearization hint stream", QPDFObjGen(), og); 330 + false, offset, "linearization hint stream", QPDFObjGen(0, 0), og);
331 ObjCache& oc = this->m->obj_cache[og]; 331 ObjCache& oc = this->m->obj_cache[og];
332 qpdf_offset_t min_end_offset = oc.end_before_space; 332 qpdf_offset_t min_end_offset = oc.end_before_space;
333 qpdf_offset_t max_end_offset = oc.end_after_space; 333 qpdf_offset_t max_end_offset = oc.end_after_space;
@@ -706,7 +706,7 @@ QPDF::getUncompressedObject( @@ -706,7 +706,7 @@ QPDF::getUncompressedObject(
706 return obj; 706 return obj;
707 } else { 707 } else {
708 int repl = (*(object_stream_data.find(obj.getObjectID()))).second; 708 int repl = (*(object_stream_data.find(obj.getObjectID()))).second;
709 - return getObjectByObjGen(QPDFObjGen(repl)); 709 + return getObjectByObjGen(QPDFObjGen(repl, 0));
710 } 710 }
711 } 711 }
712 712