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 | 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 | ... | ... |