diff options
author | Tom Sepez <tsepez@chromium.org> | 2018-08-08 22:20:29 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-08-08 22:20:29 +0000 |
commit | f765805983d157e9a21d7202ba49148f24d226f3 (patch) | |
tree | afae705a3a6c1fe55028cdebc5772ac244c7e762 /core/fxcrt/fx_system.cpp | |
parent | 4b17aea63fede24925cd7579c27f55298e5e9937 (diff) | |
download | pdfium-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.cpp | 6 |
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; |