fix UTF-16 decoding bug again
This commit is contained in:
+1
-1
@@ -84,7 +84,7 @@ string TextTranscoder::operator()(const void* src, size_t src_size) {
|
||||
const void* orig_src = src;
|
||||
deque<string> blocks;
|
||||
while (src_size > 0) {
|
||||
// Assume 2x input size on average, but always alocate at least 4 bytes
|
||||
// Assume 2x input size on average, but always allocate at least 4 bytes
|
||||
string& block = blocks.emplace_back(max<size_t>((src_size << 2), 4), '\0');
|
||||
char* dest = block.data();
|
||||
size_t dest_size = block.size();
|
||||
|
||||
+2
-2
@@ -25,7 +25,7 @@ public:
|
||||
size_t bytes_read;
|
||||
size_t bytes_written;
|
||||
};
|
||||
Result operator()(void* dest, size_t dest_size, const void* src, size_t src_bytes, bool truncate_oversize_result);
|
||||
Result operator()(void* dest, size_t dest_bytes, const void* src, size_t src_bytes, bool truncate_oversize_result);
|
||||
|
||||
std::string operator()(const void* src, size_t src_bytes);
|
||||
std::string operator()(const std::string& data);
|
||||
@@ -465,7 +465,7 @@ struct pstring {
|
||||
}
|
||||
for (size_t z = 0; z < Bytes; z += 2) {
|
||||
if (!this->data[z] && !this->data[z + 1]) {
|
||||
return z;
|
||||
return z >> 1;
|
||||
}
|
||||
}
|
||||
return Bytes >> 1;
|
||||
|
||||
Reference in New Issue
Block a user