-
JSON serialization was preserving the value as presented, but JSON doesn't accept decimal values without a 0 before the decimal point.
-
Support conversion of pages to form XObjects and placement of form XObjects on pages.
-
Unparse is admittedly strange, but I'd rather be strange and consistent, and everything else in the qpdf library uses unparse to serialize. (If you're reading this, the convention of using "unparse" comes from the "clu" programming language.)
-
Also move tests to libtests.
-
This fix allows qpdf to compile/test cleanly with gcc 8.
-
During periods of intensive operation on a specific file, this method can reduce the overhead of repeated open/close operations.
-
ClosedFileInputSource is an input source that keeps the file closed when not reading it.
-
Forgot to delete a buffer in the test driver. There was no memory leak or memory error in any installed code.
-
Specify qpdf libraries before external ones. Specify LDFLAGS before libraries. This should eliminate remaining cases of qpdf builds favoring previously installed versions.
-
Make sure to link from the source tree before linking from the system. In many environments, this is necessary to allow a newly built qpdf to link properly instead of trying to link or resolve libraries from an older installed version.
-
Avoid calling jpeg_mem_src and jpeg_mem_dest. The custom destination manager writes to the pipeline in smaller chunks to avoid having the whole image in memory at once. The source manager works directly with the Buffer object. Using customer managers avoids use of memory source and destination managers, which are not present in older versions of libjpeg still in use by some Linux distributions.
-
The latter catches underflow/overflow.