-
#863 uses a single null object for nulls that were previously implicit. In certain circumstances this shared null object gets destroyed (i.e changed to a QPDF_Destroyed object) when a QPDF object is destroyed. Modify the QPDF destructor so that null objects get disconnected from the dying QPDF object but not destroyed to prevent this from happening.
-
'#' was omitted from the list of chars that need to be escaped.
-
Also, move _qpdf_data and to new header filer _qpdf_error to new header file qpdf-c_impl.hh
-
Refactor QPDF_Array
-
Code tidy re-throwing of exceptions
-
Tune indentations in QPDFWriter::unparseObject
-
There are no reasons other than historical to use size_t. On balance, using map is more efficient. Hold shared pointers to QPDFObjects rather than QPDFObjectHandles for consistencey with QPDF_Array.
-
Also, add const overload of QPDFObjectHandle::getObj
-
Stop using nullptr to represent null objects. Count null array elements and trigger creation of sparse arrays if null count is greater than 100.
-
Add temporary clone of SparseOHArray to implement non-sparse mode.
-
Set indent differently for qdf and non-qdf files. Combine with preceding newline for qdf files.
-
Warn if catalog type entry is invalid (fixes #810)