2
1
mirror of https://github.com/qpdf/qpdf.git synced 2025-02-07 14:18:24 +00:00

Revert making second parameter of QPDFObjGen::QPDFObjGen optional

Also, change test for QPDFObjGen::isIndirect to obj != 0.
Delete comment from commit afd35f9.
This commit is contained in:
m-holger 2022-07-24 15:35:19 +01:00
parent afd35f9a30
commit 8b4afa428e
4 changed files with 9 additions and 10 deletions

View File

@ -38,7 +38,7 @@ class QPDFObjGen
{
}
QPDF_DLL
explicit QPDFObjGen(int obj, int gen = 0) :
explicit QPDFObjGen(int obj, int gen) :
obj(obj),
gen(gen)
{
@ -77,7 +77,7 @@ class QPDFObjGen
bool
isIndirect() const
{
return obj > 0;
return obj != 0;
}
QPDF_DLL
std::string unparse(char separator = ',') const;

View File

@ -123,7 +123,6 @@ class QPDFObjectHandle
Pipeline* pipeline,
bool suppress_warnings,
bool will_retry);
// The following two overloads are deprecated.
QPDF_DLL virtual void
provideStreamData(int objid, int generation, Pipeline* pipeline);
QPDF_DLL virtual bool provideStreamData(

View File

@ -1051,7 +1051,7 @@ QPDF::read_xrefStream(qpdf_offset_t xref_offset)
QPDFObjectHandle xref_obj;
try {
xref_obj = readObjectAtOffset(
false, xref_offset, "xref stream", QPDFObjGen(), x_og);
false, xref_offset, "xref stream", QPDFObjGen(0, 0), x_og);
} catch (QPDFExc&) {
// ignore -- report error below
}
@ -1333,7 +1333,7 @@ QPDF::insertXrefEntry(int obj, int f0, qpdf_offset_t f1, int f2, bool overwrite)
break;
case 2:
this->m->xref_table[QPDFObjGen(obj)] = QPDFXRefEntry(f0, f1, f2);
this->m->xref_table[QPDFObjGen(obj, 0)] = QPDFXRefEntry(f0, f1, f2);
break;
default:
@ -2110,7 +2110,7 @@ QPDF::resolveObjectsInStream(int obj_stream_number)
// xref table and only cache what would actually be resolved here.
for (auto const& iter: offsets) {
int obj = iter.first;
QPDFObjGen og(obj);
QPDFObjGen og(obj, 0);
QPDFXRefEntry const& entry = this->m->xref_table[og];
if ((entry.getType() == 2) &&
(entry.getObjStreamNumber() == obj_stream_number)) {

View File

@ -137,8 +137,8 @@ QPDF::isLinearized()
return false;
}
QPDFObjectHandle candidate =
QPDFObjectHandle::Factory::newIndirect(this, QPDFObjGen(lindict_obj));
QPDFObjectHandle candidate = QPDFObjectHandle::Factory::newIndirect(
this, QPDFObjGen(lindict_obj, 0));
if (!candidate.isDictionary()) {
return false;
}
@ -327,7 +327,7 @@ QPDF::readHintStream(Pipeline& pl, qpdf_offset_t offset, size_t length)
{
QPDFObjGen og;
QPDFObjectHandle H = readObjectAtOffset(
false, offset, "linearization hint stream", QPDFObjGen(), og);
false, offset, "linearization hint stream", QPDFObjGen(0, 0), og);
ObjCache& oc = this->m->obj_cache[og];
qpdf_offset_t min_end_offset = oc.end_before_space;
qpdf_offset_t max_end_offset = oc.end_after_space;
@ -706,7 +706,7 @@ QPDF::getUncompressedObject(
return obj;
} else {
int repl = (*(object_stream_data.find(obj.getObjectID()))).second;
return getObjectByObjGen(QPDFObjGen(repl));
return getObjectByObjGen(QPDFObjGen(repl, 0));
}
}