mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-18 21:24:32 -04:00
Adding parsing ability for .res file.
Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D33566 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304225 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -69,6 +69,26 @@ Error BinaryStreamReader::readCString(StringRef &Dest) {
|
||||
return Error::success();
|
||||
}
|
||||
|
||||
Error BinaryStreamReader::readWideString(ArrayRef<UTF16> &Dest) {
|
||||
uint32_t Length = 0;
|
||||
uint32_t OriginalOffset = getOffset();
|
||||
const UTF16 *C;
|
||||
while (true) {
|
||||
if (auto EC = readObject(C))
|
||||
return EC;
|
||||
if (*C == 0x0000)
|
||||
break;
|
||||
++Length;
|
||||
}
|
||||
uint32_t NewOffset = getOffset();
|
||||
setOffset(OriginalOffset);
|
||||
|
||||
if (auto EC = readArray(Dest, Length))
|
||||
return EC;
|
||||
setOffset(NewOffset);
|
||||
return Error::success();
|
||||
}
|
||||
|
||||
Error BinaryStreamReader::readFixedString(StringRef &Dest, uint32_t Length) {
|
||||
ArrayRef<uint8_t> Bytes;
|
||||
if (auto EC = readBytes(Bytes, Length))
|
||||
|
||||
Reference in New Issue
Block a user