diff options
author | Jay Berkenbilt <ejb@ql.org> | 2019-01-05 18:54:41 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2019-01-06 04:56:58 +0100 |
commit | ae18bfd142f2f9a19505971d4d197cb37ee86eee (patch) | |
tree | 443d8bd195100a72ed61df09179a88b3800b2c5d /libqpdf | |
parent | 5c682f6d1ecadf30f39023eaacea3f9408f2e8dd (diff) | |
download | qpdf-ae18bfd142f2f9a19505971d4d197cb37ee86eee.tar.zst |
Refactor string transcoding in QPDF_String
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDF_String.cc | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/libqpdf/QPDF_String.cc b/libqpdf/QPDF_String.cc index 809823a6..633f1699 100644 --- a/libqpdf/QPDF_String.cc +++ b/libqpdf/QPDF_String.cc @@ -64,8 +64,11 @@ QPDF_String::~QPDF_String() { } -QPDF_String* -QPDF_String::new_utf16(std::string const& utf8_val) +enum encoding_e { e_utf16 }; + +static +std::string +transcode_utf8(std::string const& utf8_val, encoding_e encoding) { std::string result = "\xfe\xff"; size_t len = utf8_val.length(); @@ -113,7 +116,13 @@ QPDF_String::new_utf16(std::string const& utf8_val) } } } - return new QPDF_String(result); + return result; +} + +QPDF_String* +QPDF_String::new_utf16(std::string const& utf8_val) +{ + return new QPDF_String(transcode_utf8(utf8_val, e_utf16)); } std::string |