Commit 09ac645b05133c304108916f3c48196ef83a52f4

Authored by m-holger
1 parent 8dc8e8c3

Refactor `String::utf8_value`: inline `QPDF_String::getUTF8Val`, remove redundant implementation.

libqpdf/QPDFObjectHandle.cc
@@ -1040,7 +1040,15 @@ String::utf8_value() const @@ -1040,7 +1040,15 @@ String::utf8_value() const
1040 if (!s) { 1040 if (!s) {
1041 throw invalid_error("String"); 1041 throw invalid_error("String");
1042 } 1042 }
1043 - return s->getUTF8Val(); 1043 + if (util::is_utf16(s->val)) {
  1044 + return QUtil::utf16_to_utf8(s->val);
  1045 + }
  1046 + if (util::is_explicit_utf8(s->val)) {
  1047 + // PDF 2.0 allows UTF-8 strings when explicitly prefixed with the three-byte representation
  1048 + // of U+FEFF.
  1049 + return s->val.substr(3);
  1050 + }
  1051 + return QUtil::pdf_doc_to_utf8(s->val);
1044 } 1052 }
1045 1053
1046 std::string 1054 std::string
libqpdf/QPDF_String.cc
@@ -150,17 +150,3 @@ QPDF_String::unparse(bool force_binary) @@ -150,17 +150,3 @@ QPDF_String::unparse(bool force_binary)
150 150
151 return result; 151 return result;
152 } 152 }
153 -  
154 -std::string  
155 -QPDF_String::getUTF8Val() const  
156 -{  
157 - if (util::is_utf16(val)) {  
158 - return QUtil::utf16_to_utf8(val);  
159 - }  
160 - if (util::is_explicit_utf8(val)) {  
161 - // PDF 2.0 allows UTF-8 strings when explicitly prefixed with the three-byte representation  
162 - // of U+FEFF.  
163 - return val.substr(3);  
164 - }  
165 - return QUtil::pdf_doc_to_utf8(val);  
166 -}  
libqpdf/qpdf/QPDFObject_private.hh
@@ -269,7 +269,6 @@ class QPDF_String final @@ -269,7 +269,6 @@ class QPDF_String final
269 static std::shared_ptr<QPDFObject> create_utf16(std::string const& utf8_val); 269 static std::shared_ptr<QPDFObject> create_utf16(std::string const& utf8_val);
270 std::string unparse(bool force_binary = false); 270 std::string unparse(bool force_binary = false);
271 void writeJSON(int json_version, JSON::Writer& p); 271 void writeJSON(int json_version, JSON::Writer& p);
272 - std::string getUTF8Val() const;  
273 272
274 private: 273 private:
275 QPDF_String(std::string const& val) : 274 QPDF_String(std::string const& val) :