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 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 73 std::string result = "\xfe\xff";
71 74 size_t len = utf8_val.length();
... ... @@ -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 128 std::string
... ...