diff options
author | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2013-12-18 23:41:54 -0800 |
---|---|---|
committer | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2013-12-18 23:41:54 -0800 |
commit | aec952125146ef754b755f75bf9281d16e837155 (patch) | |
tree | f9632a7fc772044142a589ac6bd41584be830bb2 /src/Exceptions.cc | |
parent | b2f3f5217a0e9833479367bc3ebbb7926819b71b (diff) |
Visual Studio port.
Diffstat (limited to 'src/Exceptions.cc')
-rw-r--r-- | src/Exceptions.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/Exceptions.cc b/src/Exceptions.cc index a9df9e6..b4646ce 100644 --- a/src/Exceptions.cc +++ b/src/Exceptions.cc @@ -27,11 +27,16 @@ void Balau::GeneralException::genTrace() { for (i = 0; i < frames; i++) { SymFromAddr(process, (DWORD64)(stack[i]), 0, symbol); - int status; + int status = 0; String line; +#ifndef _MSC_VER char * demangled = abi::__cxa_demangle(symbol->Name, 0, 0, &status); - line.set("%i: 0x%08x (%s)", i, symbol->Address, status == 0 ? demangled : symbol->Name); - free(demangled); +#else + char * demangled = NULL; +#endif + line.set("%i: 0x%08x (%s)", i, symbol->Address, status == 0 && demangled ? demangled : symbol->Name); + if (demangled) + free(demangled); m_trace.push_back(line); } |