diff options
Diffstat (limited to 'view/pe/peview.cpp')
| -rw-r--r-- | view/pe/peview.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/view/pe/peview.cpp b/view/pe/peview.cpp index 19cf7e09..f9f2b77e 100644 --- a/view/pe/peview.cpp +++ b/view/pe/peview.cpp @@ -2785,6 +2785,10 @@ void PEView::AddPESymbol(BNSymbolType type, const string& dll, const string& nam if (!typeRef && m_extractMangledTypes && !GetDefaultPlatform()->GetFunctionByName(rawName)) typeRef = demangledType; } + else if (!m_extractMangledTypes && DemangleLLVM(rawName, demangleName, m_simplifyTemplates)) { + shortName = demangleName.GetString(); + fullName = shortName; + } else { m_logger->LogDebug("Failed to demangle: '%s'\n", name.c_str()); @@ -2801,6 +2805,10 @@ void PEView::AddPESymbol(BNSymbolType type, const string& dll, const string& nam if (!typeRef && m_extractMangledTypes && !GetDefaultPlatform()->GetFunctionByName(rawName)) typeRef = demangledType; } + else if (!m_extractMangledTypes && DemangleLLVM(rawName, demangleName, m_simplifyTemplates)) { + shortName = demangleName.GetString(); + fullName = shortName; + } else { m_logger->LogDebug("Failed to demangle name: '%s'\n", rawName.c_str()); |
