Logo white

OpenSystemsDevelopment / qpdf

Sign in
  • Sign in
  • Project
  • Files
  • Commits
  • Network
  • Graphs
  • Milestones
  • Issues 0
  • Merge Requests 0
  • Labels
  • Wiki
  • Commits 4,691
  • Compare
  • Branches 1
  • Tags 0
  • qpdf
  • libqpdf
31 Aug, 2025
1 commit
  • Fix `replaceKey` in `BaseDictionary`: update to use `null`/`indirect` API. ...
    73878a80
    Fixes #1532.
    m-holger authored
    2025-08-31 11:59:26 +0100  
    Browse Dir »

30 Aug, 2025
28 commits
  • Refactor `NNTreeIterator` and `PathElement`: replace `QPDFObjectHandle` with `qp… ...
    4eb9f113
    …df::Dictionary`, update constructors, and streamline logic with `Dictionary` API.
    m-holger authored
    2025-08-30 17:25:30 +0100  
    Browse Dir »
  • Refactor `NNTreeImpl`: replace `QPDFObjectHandle oh` with `qpdf::Dictionary tree_root`.
    7d7a7d08
    m-holger authored
    2025-08-30 17:25:18 +0100  
    Browse Dir »
  • Refactor `NNTreeImpl::binarySearch`: replace function pointer with `bool` flag, … ...
    5d3d583b
    …simplify iteration logic, update to use `Dictionary` API, and streamline error checks.
    m-holger authored
    2025-08-30 17:25:04 +0100  
    Browse Dir »
  • Refactor `NNTreeImpl::find`: update key parameter to `const&`, replace `getKey` … ...
    0be4d2fe
    …with subscript operator, simplify logic, and improve error checks.
    m-holger authored
    2025-08-30 16:46:17 +0100  
    Browse Dir »
  • Refactor `NNTreeImpl::insert` and `NNTreeIterator::remove`: replace `getKey` wit… ...
    f8b548c8
    …h subscript operator, streamline `repair` with `Dictionary` initializer, and remove redundant semicolon.
    m-holger authored
    2025-08-30 16:46:17 +0100  
    Browse Dir »
  • Refactor `NNTreeIterator::lastPathElement`: simplify logic with conditional `std::prev` usage.
    8f0073ed
    m-holger authored
    2025-08-30 16:46:17 +0100  
    Browse Dir »
  • Refactor `NNTree::deepen`: replace `getKey` with subscript operator for `Array` … ...
    d4a56364
    …access, and streamline logic.
    m-holger authored
    2025-08-30 16:46:17 +0100  
    Browse Dir »
  • Refactor `NNTreeIterator::split`: update to use `Dictionary` API, replace `getKe… ...
    32e0bbe4
    …y` with subscript operator, and simplify logic.
    m-holger authored
    2025-08-30 16:46:17 +0100  
    Browse Dir »
  • Refactor `NNTreeIterator::resetLimits`: update to use `Dictionary` API, replace … ...
    36e9b370
    …`getKey` with subscript operator, and simplify logic.
    m-holger authored
    2025-08-30 16:46:17 +0100  
    Browse Dir »
  • Refactor `NNTree::updateIValue`, `getNextKid`, and `increment`: update to use `D… ...
    233e46b5
    …ictionary` APIs, replace `getKey` with subscript operator, streamline logic, and simplify bounds checks.
    m-holger authored
    2025-08-30 16:46:17 +0100  
    Browse Dir »
  • Refactor `removeKey` to `erase` in `BaseHandle`, update logic for API consistenc… ...
    4c65b0a8
    …y, and simplify implementation.
    m-holger authored
    2025-08-30 16:46:17 +0100  
    Browse Dir »
  • Remove `getKey` from `BaseDictionary`, refactor dictionary key access to use `op… ...
    c72de58d
    …erator[]`, and simplify null handling logic.
    m-holger authored
    2025-08-30 16:46:17 +0100  
    Browse Dir »
  • Replace `hasKey` with `contains` in `BaseDictionary` and `QPDFObjectHandle`, ref… ...
    08dcf84c
    …actor implementation to simplify null handling and align with API conventions.
    m-holger authored
    2025-08-30 16:46:17 +0100  
    Browse Dir »
  • Refactor `BaseDictionary` and `Dictionary` constructors, add `operator[]` for di… ...
    cbeaf5a8
    …ctionary key access, and simplify null handling logic.
    m-holger authored
    2025-08-30 16:46:17 +0100  
    Browse Dir »
  • Add `operator==` to `BaseHandle` for object equality comparison
    722ca8e0
    m-holger authored
    2025-08-30 16:46:17 +0100  
    Browse Dir »
  • Refactor `Array` class to introduce `empty()` factory method and remove unused constructors ...
    3a2e6764
    - Added `Array::empty()` as a static method for creating empty arrays.
    - Removed unused `Array(bool empty)` constructor and defaulted `Array` constructor.
    - Updated `NNTree` methods to use `Array::empty()` for clarity and consistency.
    m-holger authored
    2025-08-30 16:46:17 +0100  
    Browse Dir »
  • Refactor `QPDFNameTreeObjectHelper` and `QPDFNumberTreeObjectHelper` constructor… ...
    97198c27
    …s and `Members` structure
    
    - Simplified `Members` implementation by inlining into `NNTree` context.
    - Replaced `std::shared_ptr<Members>` with `std::make_shared` for improved clarity and usage consistency.
    - Updated method calls to directly access `Members`' `impl`.
    - Improved maintainability and alignment with modern C++ practices.
    m-holger authored
    2025-08-30 16:00:35 +0100  
    Browse Dir »
  • Remove `QPDFNameTreeObjectHelper.cc` and `QPDFNumberTreeObjectHelper.cc`, consol… ...
    c9f5253c
    …idate into `NNTree` implementation
    
    - Merged `QPDFNameTreeObjectHelper` and `QPDFNumberTreeObjectHelper` into `NNTree` source for simplification.
    - Adjusted `CMakeLists.txt` and headers to reflect changes.
    m-holger authored
    2025-08-30 16:00:35 +0100  
    Browse Dir »
  • Refactor `NNTreeIterator` and `NNTreeImpl` to inline implementation details for simplicity ...
    05c9a460
    - 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.
    m-holger authored
    2025-08-30 16:00:35 +0100  
    Browse Dir »
  • Refactor `NNTree` methods to improve const-correctness and simplify parameter types ...
    c0137dac
    - 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.
    m-holger authored
    2025-08-30 16:00:35 +0100  
    Browse Dir »
  • Remove `withinLimits` method and inline its logic into `compareKeyKid` in `NNTreeImpl` ...
    b8bc3ca3
    - Simplified the code by directly handling limits validation in `compareKeyKid`.
    - Improved clarity by reducing unnecessary method indirection.
    m-holger authored
    2025-08-30 16:00:35 +0100  
    Browse Dir »
  • Refactor `NNTree` implementation to simplify key validation logic ...
    67796b3f
    - 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.
    m-holger authored
    2025-08-30 16:00:35 +0100  
    Browse Dir »
  • Refactor `QPDFAcroFormDocumentHelper::Members` to use `std::make_shared`, improv… ...
    e6200bbc
    …e memory management, and streamline class definition.
    m-holger authored
    2025-08-30 12:22:44 +0100  
    Browse Dir »
  • Enhance `QPDFAcroFormDocumentHelper` with `get()` for shared access and `validat… ...
    81510829
    …e()` for re-validation and repair of AcroForm structure.
    m-holger authored
    2025-08-30 12:10:35 +0100  
    Browse Dir »
  • Refactor `QPDFJob`: centralize `QPDFAcroFormDocumentHelper` access via `acroform… ...
    faed776c
    …()` method, remove redundant helper functions, and streamline related logic for consistency and maintainability.
    m-holger authored
    2025-08-30 11:37:10 +0100  
    Browse Dir »
  • Refactor `QPDF`: centralize access to `QPDFAcroFormDocumentHelper` using a dedic… ...
    e64965e3
    …ated `acroform()` method and update related references for improved performance, consistency and maintainability.
    m-holger authored
    2025-08-30 10:57:21 +0100  
    Browse Dir »
  • Refactor `QPDFFormFieldObjectHelper`: streamline checkbox and radio button value… ...
    79a9701f
    … validation, improve readability, and reduce redundancy in type checks.
    m-holger authored
    2025-08-30 10:42:20 +0100  
    Browse Dir »
  • Refactor `QPDFFormFieldObjectHelper`: simplify return logic, use direct returns … ...
    3d29a053
    …for improved readability, and remove redundant variables.
    m-holger authored
    2025-08-30 10:30:40 +0100  
    Browse Dir »

29 Aug, 2025
7 commits
  • Enhance `QPDFOutlineDocumentHelper` by adding stricter value validation and invo… ...
    023a0027
    …king `validate()` for `names_dest` initialization
    m-holger authored
    2025-08-29 21:11:15 +0100  
    Browse Dir »
  • Refactor `QPDFOutlineDocumentHelper::Members` to use `std::unique_ptr` for `name… ...
    dfb2718c
    …s_dest`, improve memory management, and streamline initialization logic
    m-holger authored
    2025-08-29 21:08:05 +0100  
    Browse Dir »
  • Enhance `QPDFEmbeddedFileDocumentHelper` with stricter validation and value checking ...
    d11553e4
    - 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.
    m-holger authored
    2025-08-29 21:07:58 +0100  
    Browse Dir »
  • Refactor `QPDFEmbeddedFileDocumentHelper::Members` to use `std::unique_ptr`, imp… ...
    4974090f
    …rove memory management, and simplify initialization logic.
    m-holger authored
    2025-08-29 21:07:51 +0100  
    Browse Dir »
  • Enhance page labels handling with stricter validation and improved normalization… ...
    f871b753
    … 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`.
    m-holger authored
    2025-08-29 21:07:45 +0100  
    Browse Dir »
  • Refactor `QPDFPageLabelDocumentHelper::Members` to use `std::unique_ptr`, simpli… ...
    3c4aa887
    …fy logic, and enhance consistency with modern C++ practices.
    m-holger authored
    2025-08-29 21:07:14 +0100  
    Browse Dir »
  • Add `validate()` to `NNTree` helpers and implementations ...
    b00647d5
    - 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.
    m-holger authored
    2025-08-29 21:01:41 +0100  
    Browse Dir »

27 Aug, 2025
2 commits
  • Add `value_validator` to `NNTree` implementations for enhanced validation. ...
    4490c23f
    - 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.
    m-holger authored
    2025-08-27 22:01:34 +0100  
    Browse Dir »
  • Fix #1527
    8abb42e3
    m-holger authored
    2025-08-27 20:47:06 +0100  
    Browse Dir »

22 Aug, 2025
1 commit
  • Improve null key/value handling in `NNTree`, add checks across insert operations ...
    bdeb1036
    Fixes bug in #1523
    m-holger authored
    2025-08-22 17:07:43 +0100  
    Browse Dir »

21 Aug, 2025
1 commit
  • Validate existence of array items in `NNTree`, improve null handling, and ensure robust iteration. ...
    6dfdc404
    Fixes bug in #1523
    m-holger authored
    2025-08-21 16:22:41 +0100  
    Browse Dir »