Commit ae18bfd142f2f9a19505971d4d197cb37ee86eee

Authored by Jay Berkenbilt
1 parent 5c682f6d

Refactor string transcoding in QPDF_String

Showing 1 changed file with 12 additions and 3 deletions
libqpdf/QPDF_String.cc
@@ -64,8 +64,11 @@ QPDF_String::~QPDF_String() @@ -64,8 +64,11 @@ QPDF_String::~QPDF_String()
64 { 64 {
65 } 65 }
66 66
67 -QPDF_String*  
68 -QPDF_String::new_utf16(std::string const& utf8_val) 67 +enum encoding_e { e_utf16 };
  68 +
  69 +static
  70 +std::string
  71 +transcode_utf8(std::string const& utf8_val, encoding_e encoding)
69 { 72 {
70 std::string result = "\xfe\xff"; 73 std::string result = "\xfe\xff";
71 size_t len = utf8_val.length(); 74 size_t len = utf8_val.length();
@@ -113,7 +116,13 @@ QPDF_String::new_utf16(std::string const& utf8_val) @@ -113,7 +116,13 @@ QPDF_String::new_utf16(std::string const& utf8_val)
113 } 116 }
114 } 117 }
115 } 118 }
116 - return new QPDF_String(result); 119 + return result;
  120 +}
  121 +
  122 +QPDF_String*
  123 +QPDF_String::new_utf16(std::string const& utf8_val)
  124 +{
  125 + return new QPDF_String(transcode_utf8(utf8_val, e_utf16));
117 } 126 }
118 127
119 std::string 128 std::string