diff options
| author | Marek Sokolowski <mnbvmar@gmail.com> | 2017-09-20 23:07:39 +0000 |
|---|---|---|
| committer | Marek Sokolowski <mnbvmar@gmail.com> | 2017-09-20 23:07:39 +0000 |
| commit | ab9ee73ebc312b631fd0d959a0e4aa850a5592f0 (patch) | |
| tree | ceca4b6a2466b7b3bf2bdf819cd2c825253c690c /llvm/tools/llvm-readobj/WindowsResourceDumper.cpp | |
| parent | 9e50291065a49e9af300f159a209d101ac151c51 (diff) | |
| download | bcm5719-llvm-ab9ee73ebc312b631fd0d959a0e4aa850a5592f0.tar.gz bcm5719-llvm-ab9ee73ebc312b631fd0d959a0e4aa850a5592f0.zip | |
[llvm-readobj] Fix 'Teach readobj to dump .res files', pt 2.
Another fix-up for r313790. Big-endian hosts swapped byte order in
UTF16 words.
llvm-svn: 313833
Diffstat (limited to 'llvm/tools/llvm-readobj/WindowsResourceDumper.cpp')
| -rw-r--r-- | llvm/tools/llvm-readobj/WindowsResourceDumper.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/tools/llvm-readobj/WindowsResourceDumper.cpp b/llvm/tools/llvm-readobj/WindowsResourceDumper.cpp index d1d415d0916..bbe573d9528 100644 --- a/llvm/tools/llvm-readobj/WindowsResourceDumper.cpp +++ b/llvm/tools/llvm-readobj/WindowsResourceDumper.cpp @@ -26,8 +26,11 @@ std::string stripUTF16(const ArrayRef<UTF16> &UTF16Str) { Result.reserve(UTF16Str.size()); for (UTF16 Ch : UTF16Str) { - if (Ch <= 0xFF) - Result += Ch; + // UTF16Str will have swapped byte order in case of big-endian machines. + // Swap it back in such a case. + ulittle16_t ChValue = Ch; + if (ChValue <= 0xFF) + Result += ChValue; else Result += '?'; } |

