From 974bc7cf3e02f85cab22a377c233af6c5e53a99c Mon Sep 17 00:00:00 2001 From: m-holger Date: Sat, 6 Sep 2025 15:23:21 +0100 Subject: [PATCH] Refactor `EncryptionParameters::interpretCF`: replace `QPDFObjectHandle` with `Name` for improved clarity and consistency, and simplify `/Identity` handling. --- libqpdf/QPDF_encryption.cc | 9 ++++----- libqpdf/qpdf/QPDF_private.hh | 4 +++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/libqpdf/QPDF_encryption.cc b/libqpdf/QPDF_encryption.cc index 8be325a..33282a2 100644 --- a/libqpdf/QPDF_encryption.cc +++ b/libqpdf/QPDF_encryption.cc @@ -600,18 +600,17 @@ QPDF::EncryptionData::recover_encryption_key_with_password( } QPDF::encryption_method_e -QPDF::EncryptionParameters::interpretCF(QPDFObjectHandle const& cf) const +QPDF::EncryptionParameters::interpretCF(Name const& cf) const { - if (!cf.isName()) { + if (!cf) { // Default: /Identity return e_none; } - std::string filter = cf.getName(); - auto it = crypt_filters.find(filter); + auto it = crypt_filters.find(cf); if (it != crypt_filters.end()) { return it->second; } - if (filter == "/Identity") { + if (cf == "/Identity") { return e_none; } return e_unknown; diff --git a/libqpdf/qpdf/QPDF_private.hh b/libqpdf/qpdf/QPDF_private.hh index cd51ec2..19d9e3c 100644 --- a/libqpdf/qpdf/QPDF_private.hh +++ b/libqpdf/qpdf/QPDF_private.hh @@ -7,6 +7,8 @@ #include #include +using namespace qpdf; + // Writer class is restricted to QPDFWriter so that only it can call certain methods. class QPDF::Writer { @@ -204,7 +206,7 @@ class QPDF::EncryptionParameters } void initialize(QPDF& qpdf); - encryption_method_e interpretCF(QPDFObjectHandle const& cf) const; + encryption_method_e interpretCF(Name const& cf) const; private: bool encrypted{false}; -- libgit2 0.21.4