-
Slightly improve memory cleanup in Pl_DCT Make it easier to test with valgrind
-
While scanning the file looking for objects, limit the length of tokens we allow. This prevents us from getting caught up in reading a file character by character while digging through large streams.
-
A stray semicolon caused a condition to be incorrectly applied during stream length recovery.
-
Pushing member variables into a nested class enables addition of new member variables without breaking binary compatibility.
-
Reduce code duplication
-
Remove duplicated coverage cases from Sahil's code so existing test suite passes.
-
* Add support for PCLm using setPCLm() and writePCLm() methods in QPDFWriter.hh and QPDFWriter.cc * Add a function writePCLmHeader() for PCLm header in QPDFWriter
-
There is no need for a --precheck-streams option. We can do the precheck without imposing any penalty, only re-encoding the stream if it fails the first time.
-
This commit adds several API methods that enable control over which types of filters QPDF will attempt to decode. It also adds support for /RunLengthDecode and /DCTDecode filters for both encoding and decoding.
-
Additional testing is added in later commits to be supported by additional changes in the library.
-
Add a newline unconditionally before endstream even if a newline was already written as part of the stream data.
-
Bad /W in an xref stream could cause a division by zero error. Now this is handled as a special case.
-
Rather than checking consistency of libqpdf.map, generate it.
-
The build now checks to make sure libqpdf.map has the right library version number in it.
-
Also accept more errors than before.
-
Eliminate PCRE and find endobj not preceded by endstream. Be more lax about placement of endstream and endobj.
-
Preparing to refactor some pattern searching code to use these instead of their own memchr loops. This should simplify the code that replaces PCRE.
-
Sometimes we want to ignore bad tokens rather than having them throw an exception. A coverage case is commented out here and added in a later commit.
-
Required for strtol()