From 09ac645b05133c304108916f3c48196ef83a52f4 Mon Sep 17 00:00:00 2001 From: m-holger Date: Sat, 1 Nov 2025 13:48:18 +0000 Subject: [PATCH] Refactor `String::utf8_value`: inline `QPDF_String::getUTF8Val`, remove redundant implementation. --- libqpdf/QPDFObjectHandle.cc | 10 +++++++++- libqpdf/QPDF_String.cc | 14 -------------- libqpdf/qpdf/QPDFObject_private.hh | 1 - 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index cf0796f..b7bd526 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -1040,7 +1040,15 @@ String::utf8_value() const if (!s) { throw invalid_error("String"); } - return s->getUTF8Val(); + if (util::is_utf16(s->val)) { + return QUtil::utf16_to_utf8(s->val); + } + if (util::is_explicit_utf8(s->val)) { + // PDF 2.0 allows UTF-8 strings when explicitly prefixed with the three-byte representation + // of U+FEFF. + return s->val.substr(3); + } + return QUtil::pdf_doc_to_utf8(s->val); } std::string diff --git a/libqpdf/QPDF_String.cc b/libqpdf/QPDF_String.cc index 1077d40..235cd79 100644 --- a/libqpdf/QPDF_String.cc +++ b/libqpdf/QPDF_String.cc @@ -150,17 +150,3 @@ QPDF_String::unparse(bool force_binary) return result; } - -std::string -QPDF_String::getUTF8Val() const -{ - if (util::is_utf16(val)) { - return QUtil::utf16_to_utf8(val); - } - if (util::is_explicit_utf8(val)) { - // PDF 2.0 allows UTF-8 strings when explicitly prefixed with the three-byte representation - // of U+FEFF. - return val.substr(3); - } - return QUtil::pdf_doc_to_utf8(val); -} diff --git a/libqpdf/qpdf/QPDFObject_private.hh b/libqpdf/qpdf/QPDFObject_private.hh index 28f97c9..ecfcf7a 100644 --- a/libqpdf/qpdf/QPDFObject_private.hh +++ b/libqpdf/qpdf/QPDFObject_private.hh @@ -269,7 +269,6 @@ class QPDF_String final static std::shared_ptr create_utf16(std::string const& utf8_val); std::string unparse(bool force_binary = false); void writeJSON(int json_version, JSON::Writer& p); - std::string getUTF8Val() const; private: QPDF_String(std::string const& val) : -- libgit2 0.21.4