-
Update documentation to reflect that automatically generated files are committed. Detect when they are outdated if we have the ability to regenerate them.
-
libtool make install already works this way.
-
Use free Azure Pipelines to do Linux, Windows, and Mac build and test and to generate Windows binary distributions.
-
This creates a zip file of the files that are present in a source distribution but not present in the repository.
-
Some files in the test suite trigger antivirus warnings. These are not infected files with malicious intent. They are test files to ensure that qpdf does not crash when it encounters the files. This change enables those files to be obfuscated in the source repository so that checking out qpdf from version control or extracting the source code doesn't trigger antivirus warnings.
-
This fix allows qpdf to compile/test cleanly with gcc 8.
-
Rather than keeping a list of buffers for every write, accumulate bytes in a single buffer, doubling the size of the buffer when needed to accommodate new data. This is not the best possible implementation, but the change was implemented in this way to avoid changing the shape of Pl_Buffer and thus breaking backward compatibility.
-
Reported in debian bug 902642
-
A previous fix introduced a potentially memory overrun under certain rare conditions. The test suite now once again passes with address sanitizer.
-
There were a few places in the code that were checking that a pointer wasn't null before deleting it, even though C++ has always allowed delete 0. Most of the code did not perform these checks.
-
CR, CRLF, and LF are all supposed to be treated as LF; only one EOL is to be ignored after backslash.
-
Turns out you can keep adding zero to a number over and over again and it just doesn't get any bigger. Who would have known?
-
A few public destructors were missing QPDF_DLL, which could cause some Windows applications to fail to link.
-
During periods of intensive operation on a specific file, this method can reduce the overhead of repeated open/close operations.