-
…dundant normalization and string unparse logic across multiple write calls.
-
…ndling, leverage `std::string_view`, and streamline QDF indent logic.
-
… overloads, streamline QDF handling, and simplify string and trailer writes.
-
…onsolidate `iterate_rc4` logic, and streamline RC4 key processing.
-
…arrays with `std::string`, and simplify key computation logic.
-
…ect `substr` calls, and simplify password handling logic.
-
…ys with `std::string`, and simplify related password handling logic.
-
…implify padding logic, and streamline password handling across methods.
-
…nline previously separate method, and streamline data encoding logic.
-
…ased logic in `setEncryptionMinimumVersion`, and reduce redundancy across `QPDFWriter` methods.
-
…ption dictionary generation, and reduce redundancy in encryption handling logic.
-
… encryption handling, and reduce redundancy across methods.
-
…`, simplify method signatures, and centralize logic in `QPDF::EncryptionData` for improved maintainability.
-
…ng in method parameters, and simplify encryption logic for improved maintainability and reduced redundancy.
-
…uce redundancy, improve maintainability, and streamline parameter handling.
-
…ling, and improve maintainability.
-
…Perms_value_V5` methods; inline their logic into `setV5EncryptionParameters` to simplify encryption data processing.
-
…dom_string`, improve readability of salts and keys handling, and streamline `compute_Perms_value_V5_clear` logic by returning strings directly.
-
…std::bitset`, reorganizing related methods, and simplifying access to improve clarity and maintainability.
-
…irectly access encryption parameters for improved clarity and maintainability.
-
…, transition `interpretCF` to a class method, and eliminate redundant parameter passing for improved clarity and maintainability.
-
…rs::initialize` and replacing shared pointers with references for improved clarity and maintainability.
-
…t parameter passing, and improve maintainability. Change static functions and QPDF methods to EncryptionData methods.
-
Streamlined method definitions, replaced explicit loop counters with range-based loops, and added `final` specifier to class and methods to ensure overriding restrictions. Simplified constructor and member variable initialization.
-
…ssing to simplify buffer handling
-
…cess for consistency and readability.
-
Simplify `readObjectAtOffset` by splitting responsibilities into separate functions: `read_object_start` and a streamlined `readObjectAtOffset`. Remove redundant parameters and improve code readability, ensuring better modularity for object reading operations.
-
After xref reconstruction treat the input file as suspect and apply sanity checks to all subsequent object reads. Remove `in_xref_reconstruction` flag and update references to use `reconstructed_xref` for simplified state management during xref processing. Adjust warnings for invalid dictionary keys in test output.
-
…n/decompression logic. Remove redundant `Buffer` class dependency.
-
the xref table has been loaded
-
Enhanced handling of unexpected tokens during xref table reconstruction. Adjusted logic for invalid tokens, ensuring better robustness during PDF parsing of corrupt PDF files.
-
Implemented stricter sanity checks to handle unexpected tokens like array/dictionary close and endobj/endstream more effectively. Improved warning messages and handling of corrupt objects to enhance PDF parsing robustness.
-
Detect corrupt xref streams early to avoid excessive runtime and memory usage.
-
Reorganized and cleaned up the logic for managing ADBE entries in the /Extensions dictionary, improving clarity and maintainability. Adjusted object shallow copying to avoid unnecessary copying.
-
Backup and restore the xref table during attempted startxref recovery to avoid corrupt states. Added a guard condition to handle invalid xref entries types, preventing processing of unsupported cases. These changes improve robustness during PDF parsing and recovery.
-
Replaced raw pointer defaults (e.g., `0`) with `nullptr` for better readability and type-safety. Simplified object initializer syntax using uniform initialization `{}`. These changes enhance code maintainability and ensure modern C++ standards compliance. -
Refactored several classes to use C++11 `final` specifiers for inheritance restrictions and added default member initializations. These changes enhance code clarity, improve safety, and ensure modern coding practices.
-
This change updates all occurrences of `std::endl` to `\n` across various files for improved efficiency and consistency. It reduces unnecessary flushing of output buffers associated with `std::endl` while maintaining the same output format.
-
Refactor code to eliminate redundant `this->` qualifiers, enhancing readability and consistency across the codebase. This modification simplifies member variable access and aligns with modern C++ coding practices.