summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys
diff options
context:
space:
mode:
authorChin <chin.bimbo@gmail.com>2014-12-20 04:16:34 +0100
committerChin <chin.bimbo@gmail.com>2014-12-20 16:03:36 +0100
commite7956926147d2d2ac6741aee8a150466a5438ca3 (patch)
tree8a06a500c34248c12fff47998131742c4ca72390 /src/core/file_sys
parentMerge pull request #309 from chinhodado/patch-1 (diff)
downloadyuzu-e7956926147d2d2ac6741aee8a150466a5438ca3.tar
yuzu-e7956926147d2d2ac6741aee8a150466a5438ca3.tar.gz
yuzu-e7956926147d2d2ac6741aee8a150466a5438ca3.tar.bz2
yuzu-e7956926147d2d2ac6741aee8a150466a5438ca3.tar.lz
yuzu-e7956926147d2d2ac6741aee8a150466a5438ca3.tar.xz
yuzu-e7956926147d2d2ac6741aee8a150466a5438ca3.tar.zst
yuzu-e7956926147d2d2ac6741aee8a150466a5438ca3.zip
Diffstat (limited to 'src/core/file_sys')
-rw-r--r--src/core/file_sys/archive_backend.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/core/file_sys/archive_backend.h b/src/core/file_sys/archive_backend.h
index 18c314884..d7959b2ca 100644
--- a/src/core/file_sys/archive_backend.h
+++ b/src/core/file_sys/archive_backend.h
@@ -143,7 +143,16 @@ public:
case Char:
return std::vector<u8>(string.begin(), string.end());
case Wchar:
- return std::vector<u8>(u16str.begin(), u16str.end());
+ {
+ // use two u8 for each character of u16str
+ std::vector<u8> to_return(u16str.size() * 2);
+ for (size_t i = 0; i < u16str.size(); ++i) {
+ u16 tmp_char = u16str.at(i);
+ to_return[i*2] = (tmp_char & 0xFF00) >> 8;
+ to_return[i*2 + 1] = (tmp_char & 0x00FF);
+ }
+ return to_return;
+ }
case Empty:
return {};
default: