-
- Marked `NNTreeIterator` and `NNTreeImpl` as `final` to prevent inheritance. - Inlined `NNTreeIterator` and `NNTreeImpl` methods to streamline code and reduce redundancy. - Updated constructors, operators, and utility functions in `NNTreeIterator` and `NNTreeImpl` for improved readability and maintainability.
-
- Added `const` qualifiers to member functions and parameters where applicable. - Replaced `QPDFObjectHandle` arrays with `qpdf::Array` for improved type clarity. - Simplified logic in `compareKeyItem` and `compareKeyKid` by removing redundant checks.
-
- Simplified the code by directly handling limits validation in `compareKeyKid`. - Improved clarity by reducing unnecessary method indirection.
-
- Removed `NNTreeDetails` and moved key validation logic directly into `NNTreeImpl`. - Replaced type determination with `qpdf_object_type_e` for improved clarity. - Updated `QPDFNameTreeObjectHelper` and `QPDFNumberTreeObjectHelper` to align with the new `NNTreeImpl` structure. - Simplified methods accessing tree items and validating keys.
-
…e memory management, and streamline class definition.
-
…e()` for re-validation and repair of AcroForm structure.
-
…()` method, remove redundant helper functions, and streamline related logic for consistency and maintainability.
-
…ated `acroform()` method and update related references for improved performance, consistency and maintainability.
-
… validation, improve readability, and reduce redundancy in type checks.
-
…for improved readability, and remove redundant variables.
-
…king `validate()` for `names_dest` initialization
-
…s_dest`, improve memory management, and streamline initialization logic
-
- Added `validate()` invocation to `m->embedded_files`. - Introduced `value_validator` to ensure only dictionaries are accepted in `EmbeddedFiles`. - Enabled consistent value validation and key validation logic.
-
…rove memory management, and simplify initialization logic.
-
… in damaged label tests - Add `validate()` call to `QPDFNumberTreeObjectHelper` for page label validation. - Introduce stricter enforcement of dictionary values and validation logic. - Update damaged page label test to remove `EXPECT_FAILURE`.
-
…fy logic, and enhance consistency with modern C++ practices.
-
- Introduced a `validate()` method in `QPDFNameTreeObjectHelper`, `QPDFNumberTreeObjectHelper`, and `NNTreeImpl`. - Ensure proper validation of tree keys and values, detecting invalid entries, unsorted keys, and inconsistencies. - Added support for auto-repair in case of validation errors.
-
- Introduced `std::function<bool(QPDFObjectHandle const&)>` to validate tree values. - Updated constructors and methods across `QPDFNameTreeObjectHelper` and `QPDFNumberTreeObjectHelper` to support value validation. - Refactored `NNTreeImpl` to check for invalid values during insertion, iteration, and retrieval. - Improved error handling and reporting for invalid values.
-
Fixes bug in #1523
-
Fixes bug in #1523
-
… checking, and align with `Array` API conventions.
-
…prove bounds checking
-
…y, modify bounds checks, and adjust affected tests.
-
… to use subscript operators, and simplify object access logic.
-
…bounds checks with subscript operator, simplify loop logic, and remove redundant trace.
-
…hecks with `Array` subscript operator, simplify logic, and improve null handling.
-
…rray`, use subscript operators, simplify logic, and improve readability.
-
…s`, remove redundant trace, and improve null handling.
-
…move redundant trace, and improve readability.
-
…reamline object assignment, and introduce constructors for `QPDFObjectHandle`.
-
…tem` with `size` and subscript operators, simplify logic, and improve error handling.
-
…ems` and `getArrayItem` with `size` and subscript operators, and improve code readability.
-
…ms` and `getArrayItem` with `size` and subscript operators, remove redundant debug traces, and improve readability.
-
…em` with `size` and subscript operators, remove redundant debug traces, simplify loop logic, and improve readability.
-
…` and subscript operators, remove redundant debug traces, and improve code readability.