summaryrefslogtreecommitdiff
path: root/platform/efi/efi_resolver/src/GuidRenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/efi/efi_resolver/src/GuidRenderer.cpp')
-rw-r--r--platform/efi/efi_resolver/src/GuidRenderer.cpp63
1 files changed, 29 insertions, 34 deletions
diff --git a/platform/efi/efi_resolver/src/GuidRenderer.cpp b/platform/efi/efi_resolver/src/GuidRenderer.cpp
index ef148094..deac0265 100644
--- a/platform/efi/efi_resolver/src/GuidRenderer.cpp
+++ b/platform/efi/efi_resolver/src/GuidRenderer.cpp
@@ -2,55 +2,50 @@
bool isType(const vector<pair<Type*, size_t>>& context, const string& name)
{
- if (context.empty())
- return false;
+ if (context.empty())
+ return false;
- auto [deepestType, size] = context.back();
- if (!deepestType->IsNamedTypeRefer())
- return false;
+ auto [deepestType, size] = context.back();
+ if (!deepestType->IsNamedTypeRefer())
+ return false;
- return deepestType->GetTypeName().GetString() == name;
+ return deepestType->GetTypeName().GetString() == name;
}
-bool EfiGuidRenderer::IsValidForData(BinaryView* bv, uint64_t address, Type* type,
- vector<pair<Type*, size_t>>& context)
+bool EfiGuidRenderer::IsValidForData(BinaryView* bv, uint64_t address, Type* type, vector<pair<Type*, size_t>>& context)
{
- return isType(context, "EFI_GUID");
+ return isType(context, "EFI_GUID");
}
static string formatGuid(uint32_t data1, uint16_t data2, uint16_t data3, uint64_t data4)
{
- std::ostringstream oss;
- oss << std::hex << std::uppercase << std::setfill('0')
- << std::setw(8) << data1 << "-"
- << std::setw(4) << data2 << "-"
- << std::setw(4) << data3 << "-"
- << std::setw(16) << data4;
- return oss.str();
+ std::ostringstream oss;
+ oss << std::hex << std::uppercase << std::setfill('0') << std::setw(8) << data1 << "-" << std::setw(4) << data2
+ << "-" << std::setw(4) << data3 << "-" << std::setw(16) << data4;
+ return oss.str();
}
-vector<DisassemblyTextLine> EfiGuidRenderer::GetLinesForData(
- BinaryView* bv, uint64_t address, Type*, const vector<InstructionTextToken>& prefix,
- size_t, vector<pair<Type*, size_t>>& context)
+vector<DisassemblyTextLine> EfiGuidRenderer::GetLinesForData(BinaryView* bv, uint64_t address, Type*,
+ const vector<InstructionTextToken>& prefix, size_t, vector<pair<Type*, size_t>>& context)
{
- BinaryReader reader(bv);
- reader.Seek(address);
- auto data1 = reader.Read32();
- auto data2 = reader.Read16();
- auto data3 = reader.Read16();
- auto data4 = reader.ReadBE64();
- string guidStr = formatGuid(data1, data2, data3, data4);
+ BinaryReader reader(bv);
+ reader.Seek(address);
+ auto data1 = reader.Read32();
+ auto data2 = reader.Read16();
+ auto data3 = reader.Read16();
+ auto data4 = reader.ReadBE64();
+ string guidStr = formatGuid(data1, data2, data3, data4);
- DisassemblyTextLine line;
- line.addr = address;
- line.tokens = prefix;
- line.tokens.emplace_back(TextToken, "[EFI_GUID(\"");
- line.tokens.emplace_back(StringToken, guidStr);
- line.tokens.emplace_back(TextToken, "\")]");
- return { line };
+ DisassemblyTextLine line;
+ line.addr = address;
+ line.tokens = prefix;
+ line.tokens.emplace_back(TextToken, "[EFI_GUID(\"");
+ line.tokens.emplace_back(StringToken, guidStr);
+ line.tokens.emplace_back(TextToken, "\")]");
+ return {line};
}
void EfiGuidRenderer::Register()
{
- DataRendererContainer::RegisterTypeSpecificDataRenderer(new EfiGuidRenderer());
+ DataRendererContainer::RegisterTypeSpecificDataRenderer(new EfiGuidRenderer());
}