-
…lassic one nor newer ones based on CLANG.
-
If set, we avoid using Windows I/O HANDLE, which is disallowed in some versions of the Windows SDK, such as for Windows phones. QUtil::same_file will always return false in this case. Only applies to Windows builds.
-
Also move tests to libtests.
-
Use 0 instead of NULL in a cast.
-
For cross compiling.
-
The 64 Bit file functions are supported by C++-Builder as well and need to be used, else fseek will error out on larger files than 4 GB like used in the large file test.
-
Add a method to get the current random data provider, and document and test the method for resetting it.
-
Add new RandomDataProvider object and implement existing random number generation in terms of that. This enables end users to supply their own random data providers.
-
If NO_GET_ENVIRONMENT is #defined at compile time on Windows, do not call GetEnvironmentVariable. QUtil::get_env will always return false. This option is not available through configure. This was added to support a specific user's requirements to avoid calling GetEnvironmentVariable from the Windows API. Nothing in qpdf outside the test coverage system in qtest relies on QUtil::get_env.
-
For std::string and std::vector, replace operator[] with at. This was done using an automated process. See README.hardening for details.
-
If not available, give an error. The user may also configure qpdf to use an insecure random number generator.
-
Make remaining calls to fopen and strerror use strerror_s and fopen_s on MSVC.
-
fopen was previuosly called wrapped by QUtil::fopen_wrapper, but QUtil::safe_fopen does this itself, which is less cumbersome.