Commit ae18bfd142f2f9a19505971d4d197cb37ee86eee
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 |