]> git.tdb.fi Git - libs/core.git/blobdiff - source/debug/demangle.cpp
Add missing includes
[libs/core.git] / source / debug / demangle.cpp
index 460410e49569f501ed4792929650c62068cdf243..5c348514fd9bffa57ec0d7cbf6acb4539d198880 100644 (file)
@@ -5,6 +5,7 @@ Copyright © 2007 Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
+#include <cstdlib>
 #include <cxxabi.h>
 #include "demangle.h"
 
@@ -18,8 +19,15 @@ string demangle(const string &sym)
 #ifdef __GNUC__
        int status;
        char *dm=abi::__cxa_demangle(sym.c_str(), 0, 0, &status);
-       string result(dm);
+       
+       string result;
+       if(status==0)
+               result=dm;
+       else
+               result=sym;
+       
        free(dm);
+
        return result;
 #else
        return sym;