diff options
author | Eric Beckmann <ecbeckmann@google.com> | 2017-05-08 01:48:55 +0000 |
---|---|---|
committer | Eric Beckmann <ecbeckmann@google.com> | 2017-05-08 01:48:55 +0000 |
commit | 626680a09e5031234eb98b9c42ebba4636294aef (patch) | |
tree | dd9ce1ac773ca25b3fe52452c875b5fee78273c5 /llvm/tools/llvm-readobj | |
parent | ef40748260b2fadd11cb174d0326d742d7353d9b (diff) | |
download | bcm5719-llvm-626680a09e5031234eb98b9c42ebba4636294aef.tar.gz bcm5719-llvm-626680a09e5031234eb98b9c42ebba4636294aef.zip |
Hopefully one last commit to fix this patch, addresses string reference
issues.
llvm-svn: 302395
Diffstat (limited to 'llvm/tools/llvm-readobj')
-rw-r--r-- | llvm/tools/llvm-readobj/COFFDumper.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/tools/llvm-readobj/COFFDumper.cpp b/llvm/tools/llvm-readobj/COFFDumper.cpp index 64fd60ea209..9ffa8292738 100644 --- a/llvm/tools/llvm-readobj/COFFDumper.cpp +++ b/llvm/tools/llvm-readobj/COFFDumper.cpp @@ -44,6 +44,7 @@ #include "llvm/Support/BinaryByteStream.h" #include "llvm/Support/BinaryStreamReader.h" #include "llvm/Support/COFF.h" +#include "llvm/Support/ConvertUTF.h" #include "llvm/Support/Casting.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/DataExtractor.h" @@ -1560,9 +1561,12 @@ void COFFDumper::printResourceDirectoryTable( SmallString<20> IDStr; raw_svector_ostream OS(IDStr); if (i < Table.NumberOfNameEntries) { - StringRef EntryNameString = unwrapOrError(RSF.getEntryNameString(Entry)); + ArrayRef<UTF16> RawEntryNameString = unwrapOrError(RSF.getEntryNameString(Entry)); + std::string EntryNameString; + if (!llvm::convertUTF16ToUTF8String(RawEntryNameString, EntryNameString)) + error(object_error::parse_failed); OS << ": "; - OS << EntryNameString.str(); + OS << EntryNameString; } else { if (Level == "Type") { ScopedPrinter Printer(OS); |