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};