-
Avd xcsv brvtns.
-
A bug was fixed between qpdf 8.4.2 and 9.0.0 regarding this type of file (see #305 and #311), but it was necessary to retest after some major refactoring work at the lexical and parsing layers. This lays the groundwork for including this in performance benchmarks and in the qpdf test suite rather than having to keep a large, non-redistributable file around. 20 arrays of 20K nulls is plenty for performance memory testing and doesn't take too long to run. Compared to qpdf 8.4.2, in qpdf 11.0.0, the file generated here uses 3% of the RAM and runs over 4 times faster.
-
Tidy QPDF::getAllPagesInternal and QPDF::pushInheritedAttributesToPageInternal
-
Split QPDFObject into QPDFObject and QPDFValue
-
Also, modify QPDFObject::swapWith to update the ObjGens of the swapped objects. Modify QPDF::newIndirect and QPDF::updateCache to keep object ObjGens up to date.
-
Modify QPDFParser::parse to call QPDF::getObject instead.
-
Add a new obj_cache entry or update an existing entry in place.
-
Also change QPDF::replaceObject and QPDF::swapObjects such that the QPDFObject assigned to an og in the obj_cache is never replaced; only QPDFObject::value is updated.
-
Centralise casting of QPDFObjects and reduce repeated dereferencing.
-
Allow QPDFObjectHandle::obj to be set prior resolving object. ot_unresolved has been appended to the list object types in order to preserve the output of existing test cases.
-
Report mem usage
-
Also remove no-longer-needed #include
-
Part of #729
-
Avoid creating new null objects that later will be discarded and made implicit. Part of #729
-
Part of #729
-
Part of #729