summaryrefslogtreecommitdiff
path: root/core/fxcrt/fx_system.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-08-08 22:20:29 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-08-08 22:20:29 +0000
commitf765805983d157e9a21d7202ba49148f24d226f3 (patch)
treeafae705a3a6c1fe55028cdebc5772ac244c7e762 /core/fxcrt/fx_system.cpp
parent4b17aea63fede24925cd7579c27f55298e5e9937 (diff)
downloadpdfium-f765805983d157e9a21d7202ba49148f24d226f3.tar.xz
Remove unused codepage from WideString::GetWideString().
Consolidate code into sole caller, which always retrieves a string from the "default ANSI code page". Add unit test for this code path. Fix sign extension bug giving bogus 0xffffff80 codepoint uncovered by unit test on non-windows. Note windows result is different because the system conversion routine does actually work. Change-Id: I1c1246b203ee66e9ff0b6fccf97594788bcd0fca Reviewed-on: https://pdfium-review.googlesource.com/39730 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fxcrt/fx_system.cpp')
-rw-r--r--core/fxcrt/fx_system.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/core/fxcrt/fx_system.cpp b/core/fxcrt/fx_system.cpp
index 27cbd65f3c..061ca6d82d 100644
--- a/core/fxcrt/fx_system.cpp
+++ b/core/fxcrt/fx_system.cpp
@@ -203,6 +203,7 @@ int FXSYS_WideCharToMultiByte(uint32_t codepage,
}
return len;
}
+
int FXSYS_MultiByteToWideChar(uint32_t codepage,
uint32_t dwFlags,
const char* bstr,
@@ -211,9 +212,8 @@ int FXSYS_MultiByteToWideChar(uint32_t codepage,
int buflen) {
int wlen = 0;
for (int i = 0; i < blen; i++) {
- if (buf && wlen < buflen) {
- buf[wlen] = bstr[i];
- }
+ if (buf && wlen < buflen)
+ buf[wlen] = reinterpret_cast<const uint8_t*>(bstr)[i];
wlen++;
}
return wlen;