aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/file_sys
diff options
context:
space:
mode:
authorGravatar Chin <chin.bimbo@gmail.com>2014-12-19 22:16:34 -0500
committerGravatar Chin <chin.bimbo@gmail.com>2014-12-20 10:03:36 -0500
commite7956926147d2d2ac6741aee8a150466a5438ca3 (patch)
tree8a06a500c34248c12fff47998131742c4ca72390 /src/core/file_sys
parenteb394ac0af110a2c1b10901171f4f5303881b147 (diff)
Clean up some warnings
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 18c31488..d7959b2c 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: