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
13 May, 2025
20 commits
  • Refactor code to use modern C++ practices for clarity. ...
    54afdecb
    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.
    m-holger authored
    2025-05-13 21:53:22 +0100  
    Browse Dir »
  • Add `final` specifiers and initialize member variables. ...
    b0ceea46
    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.
    m-holger authored
    2025-05-13 21:38:32 +0100  
    Browse Dir »
  • Replace std::endl with '\n' for consistent line endings. ...
    03ea948c
    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.
    m-holger authored
    2025-05-13 21:38:23 +0100  
    Browse Dir »
  • Remove unnecessary `this->` qualifiers for cleaner code ...
    98c0b420
    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.
    m-holger authored
    2025-05-13 21:22:53 +0100  
    Browse Dir »
  • In QPDFJob::UnderOverlay refactor password handling to use std::string directly ...
    183e4407
    Replaced std::shared_ptr<char> with std::string for passwords in QPDFJob. This simplifies memory management and aligns the implementation with modern C++ standards, improving code readability and maintainability.
    m-holger authored
    2025-05-13 21:11:00 +0100  
    Browse Dir »
  • Refactor password handling in QPDFJob::PageSpec. ...
    74e76df0
    Replaced shared pointer usage with a plain std::string for passwords in PageSpec to simplify code and enhance readability. Updated relevant logic and function calls to align with this change, removing unnecessary shared pointer management. Updated TODO to reflect completion of this modernization step.
    m-holger authored
    2025-05-13 21:11:00 +0100  
    Browse Dir »
  • In QPDFJob refactor password handling to use std::string instead of shared_ptr. ...
    6e2a07e1
    Replaced `std::shared_ptr<char>` with `std::string` for password fields to simplify memory management and improve clarity. Updated relevant method implementations and function calls accordingly. This change ensures more straightforward and safer password handling throughout the codebase.
    m-holger authored
    2025-05-13 21:11:00 +0100  
    Browse Dir »
  • In QPDFArgParser refactor argv handling to use `std::vector` instead of shared pointers. ...
    7475b353
    Replaces `std::shared_ptr<char const*>` with `std::vector<char const*>` for `argv` and `bash_argv` processing. This simplifies memory management, improves code clarity, and ensures better alignment with modern C++ practices. Updated all associated logic to handle `std::vector` operations efficiently.
    m-holger authored
    2025-05-13 21:11:00 +0100  
    Browse Dir »
  • In QPDFArgParser refactor argv handling to use `std::string` instead of shared pointers. ...
    925ce4e6
    Replaces `std::shared_ptr<char const>` with `std::string` for `new_argv` and `bash_argv` to simplify memory management and improve clarity. Updated relevant operations to use `std::string` methods, eliminating unnecessary shared pointer usage.
    m-holger authored
    2025-05-13 21:11:00 +0100  
    Browse Dir »
  • Refactor input file handling to use std::string and flag ...
    b53923d1
    Replaced raw shared pointers with std::string for `infilename` to improve simplicity and readability. Added a boolean `empty_input` flag to explicitly track empty input cases. Adjusted related logic and function calls accordingly for consistency.
    m-holger authored
    2025-05-13 21:11:00 +0100  
    Browse Dir »
  • In QPDFJob refactor output file handling to use std::string instead of shared_ptr<char> ...
    3a42f63a
    Replaced shared_ptr<char> with std::string for `outfilename` in QPDFJob, simplifying its usage and reducing unnecessary memory management overhead. Updated related conditional checks and logic to align with the updated type. These changes improve code readability and maintainability.
    m-holger authored
    2025-05-13 21:11:00 +0100  
    Browse Dir »
  • Refactor: Replace size and length checks with `.empty()` ...
    9e466084
    Simplified checks for empty containers and strings across the codebase using the `.empty()` method. This improves code readability and adheres to best practices for checking emptiness.
    m-holger authored
    2025-05-13 21:11:00 +0100  
    Browse Dir »
  • Replace `count()` with `contains()` for cleaner and more efficient checks ...
    1d7ebddb
    Converted multiple occurrences of `count()` to `contains()` throughout the codebase where the goal was to check key existence in containers. This improves code readability and aligns with modern C++ practices, particularly with C++20, making the intent more explicit and potentially aiding performance.
    m-holger authored
    2025-05-13 21:03:17 +0100  
    Browse Dir »
  • Refactor JSON key handling in QPDFJob::doJSON ...
    28aa951f
    Replace repeated key checks with `want_key` lambda for clarity and maintainability. Transition `Pl_String` from shared to unique ownership to reflect intent and improve resource management. No functional changes introduced.
    m-holger authored
    2025-05-13 13:26:20 +0100  
    Browse Dir »
  • Refactor JSON schema handling in QPDFJob::json_schema ...
    0ab45001
    Consolidate and replace inline JSON schema strings with static constexpr constants for better organization and maintainability. Functionality remains unchanged.
    m-holger authored
    2025-05-13 13:26:05 +0100  
    Browse Dir »
  • Refactor JSON schema key handling in QPDFJob::json_schema. ...
    4a2a8283
    Centralize JSON schema dictionary member addition by introducing `add_if_want_key`. This reduces redundancy and improves maintainability by consolidating repeated logic. No changes to functionality were made.
    m-holger authored
    2025-05-13 12:08:47 +0100  
    Browse Dir »
  • In QPDFJob::json_schema refactor key-check logic with reusable function. ...
    83fa78e2
    Replaces repetitive key-check conditions with a reusable lambda function `want_key`, improving code readability and maintainability. Simplifies logic across multiple conditional sections in `QPDFJob.cc`.
    m-holger authored
    2025-05-13 11:42:16 +0100  
    Browse Dir »
  • Refactor QPDFJob::checkConfiguration code to improve readability and consistency ...
    03fcdc63
    Replaced `else if` chains with standalone `if` statements for clarity. Updated conditional checks with modern coding practices, such as using `.contains()` instead of `.count()`. These changes enhance code maintainability and ensure better style consistency.
    m-holger authored
    2025-05-13 10:51:14 +0100  
    Browse Dir »
  • In QPDF::interpretCF refactor crypt filter lookup for clarity and efficiency ...
    4a4b9456
    Replace `count` method with iterator-based lookup to improve readability and reduce redundancy. Simplify conditional logic for determining the encryption filter, ensuring the default case remains clear.
    m-holger authored
    2025-05-13 10:10:50 +0100  
    Browse Dir »
  • In JSON::checkSchemaInternal refactor: Modernize loop structures and error handling ...
    6a599276
    Replaced manual key-value access with structured bindings in loops for better readability and modern C++ practices. Simplified error handling using `emplace_back` instead of `push_back`. Improved consistency and clarity in schema validation logic.
    m-holger authored
    2025-05-13 09:55:07 +0100  
    Browse Dir »

12 May, 2025
1 commit
  • Refactor: Eliminate unnecessary `this` qualifiers ...
    a60f8a99
    Simplified code by removing redundant `this` qualifiers where they are not essential, improving readability and alignment with coding standards. No changes were made to functionality.
    m-holger authored
    2025-05-12 19:47:31 +0100  
    Browse Dir »

11 May, 2025
10 commits
  • Fix stream filter handling. ...
    8f3f5099
    qpdf permits replacing standard stream filters with user provided filters.
    #1457 incorrectly removed that option.
    m-holger authored
    2025-05-11 18:17:41 +0100  
    Browse Dir »
  • Refactor stream filtering logic for empty streams ...
    28e756f1
    Introduced explicit checks for empty streams and refined filtering conditions for improved clarity and correctness.
    m-holger authored
    2025-05-11 14:06:44 +0100  
    Browse Dir »
  • Don't apply filters to empty stream objects
    cb85d369
    TinyServal authored
    2025-05-11 13:45:32 +0100  
    Browse Dir »
  • I SF_FlateLzwDecode switch from shared_ptr to unique_ptr for pipeline management ...
    5c1a5d43
    Replaced `std::shared_ptr` with `std::unique_ptr` in `SF_FlateLzwDecode` to improve memory management and clarify ownership semantics. Adjusted related code and function logic to accommodate the change, including moving pipelines into the vector.
    m-holger authored
    2025-05-11 11:46:14 +0100  
    Browse Dir »
  • Refactor SF_Crypt to use `final` and improve `setDecodeParms`. ...
    5806e305
    Updated `SF_Crypt` class methods and destructor to use the `final` specifier for clarity and stricter override rules. Refactored `setDecodeParms` logic for better readability and accurate handling of dictionary keys. Other minor adjustments contribute to code maintainability and correctness.
    m-holger authored
    2025-05-11 11:41:25 +0100  
    Browse Dir »
  • Refactor filter name expansion logic in QPDF_Stream ...
    f126bfa7
    Removed `expand_filter_name` method and integrated its functionality directly into `filter_factory` for improved clarity and maintainability. Consolidated filter handling logic to eliminate redundant operations and streamline code execution.
    m-holger authored
    2025-05-11 11:37:33 +0100  
    Browse Dir »
  • Refactor stream filtering to simplify decode-level handling. ...
    96228864
    Replaced individual compression flags with a unified decode-level parameter for stream filtering. Introduced a helper function to handle filtering conditions, reducing redundancy and improving readability. Removed unused code and updated related tests to reflect these changes.
    m-holger authored
    2025-05-11 11:36:45 +0100  
    Browse Dir »
  • Refactor stream logic for clarity and reliability ...
    1527bf29
    Stream provider logic has been streamlined by removing unnecessary variables and conditional checks. Adjusted handling of mismatched or missing stream lengths to improve code readability and maintainability.
    m-holger authored
    2025-05-11 11:27:29 +0100  
    Browse Dir »
  • Refactor stream handling for clarity and efficiency ...
    98925989
    Replaced shared_ptr with unique_ptr for pipeline management, reducing overhead and improving ownership semantics. Simplified conditional checks and modernized code to enhance readability by removing redundant variables and adjusting pointer usages. This refactor ensures better maintainability and minor performance gains in stream processing.
    m-holger authored
    2025-05-11 11:15:39 +0100  
    Browse Dir »
  • Refactor ContentNormalizer to use inline method definitions ...
    1a05b099
    Moved `anyBadTokens` and `lastTokenWasBad` methods to inline definitions within the header file for improved readability and maintainability. Also marked the class and relevant methods as `final` to prevent further inheritance and overrides.
    m-holger authored
    2025-05-11 11:14:34 +0100  
    Browse Dir »

10 May, 2025
9 commits
  • Simplify decode parameters handling in streams ...
    5f347f35
    Refactored the handling of /DecodeParms by removing unnecessary vector creation and directly accessing elements in the decode array. This improves code clarity and maintains consistency with filters processing.
    m-holger authored
    2025-05-10 20:37:20 +0100  
    Browse Dir »
  • Refactor decode parameters handling in QPDF_Stream. ...
    36e92e03
    Simplified and reorganized logic for handling /DecodeParms in streams. Ensured proper initialization and updated filter checks for lossy and specialized compression, improving code clarity and maintainability.
    m-holger authored
    2025-05-10 20:37:20 +0100  
    Browse Dir »
  • Fix /DecodeParms handling logic inconsistency ...
    d9ae41b0
    Moved the conditional check for /DecodeParms inconsistency into the loop to ensure clearer handling when filters are non-empty. This improves code structure and maintains robustness for edge cases encountered in the wild.
    m-holger authored
    2025-05-10 20:37:20 +0100  
    Browse Dir »
  • Refactor decode object handling in QPDF_Stream.cc ...
    9cdf980f
    Simplified the logic for handling /DecodeParms by using `as_array` and modernized code with `auto` and `emplace_back`. This improves code readability and aligns with modern C++ practices.
    m-holger authored
    2025-05-10 20:37:20 +0100  
    Browse Dir »
  • Simplify stream filtering logic and remove unused variable. ...
    a03c5fce
    Removed the unnecessary `filterable` variable and streamlined the logic for handling stream decoding parameters. These changes eliminate redundant checks, improve readability, and ensure clarity in flow control for filter processing.
    m-holger authored
    2025-05-10 20:37:20 +0100  
    Browse Dir »
  • Refactor stream filter handling for better array support ...
    9a84ef3b
    Replaced manual array handling with cleaner iteration using `as_array`. This improves code readability and ensures more robust processing of stream filter arrays.
    m-holger authored
    2025-05-10 20:37:20 +0100  
    Browse Dir »
  • Refactor stream filter handling for improved validation. ...
    56c43934
    Simplify and reorganize parsing logic to replace explicit filter name collection with direct filter creation. Added validation for unsupported filters, ensuring filters are cleared and errors returned when necessary. This improves code clarity and robustness.
    m-holger authored
    2025-05-10 20:37:20 +0100  
    Browse Dir »
  • Refactor stream filter handling for improved modularity ...
    772cd8d5
    Moved stream filter factory logic into `Members::filter_factory` for better encapsulation and maintainability. Removed redundant static filter factory map and improved error handling for invalid stream filter configurations.
    m-holger authored
    2025-05-10 20:37:20 +0100  
    Browse Dir »
  • Refactor filter name handling in QPDF_Stream. ...
    ab806259
    Moved `expand_filter_name` calls to maintain uniformity and avoid redundant processing in filter handling. This ensures cleaner and more structured code without changing functionality.
    m-holger authored
    2025-05-10 20:37:20 +0100  
    Browse Dir »