X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fdebug%2Fdemangle.cpp;fp=source%2Fdebug%2Fdemangle.cpp;h=9ed6e95f84f1d9447ef19d6b31ad1d0fc6b8304f;hp=460410e49569f501ed4792929650c62068cdf243;hb=55a79fbe96a87183fa4e11049eb161943636b1dd;hpb=0fa00d18f607f329d2b2a979e1d4339e233817fa diff --git a/source/debug/demangle.cpp b/source/debug/demangle.cpp index 460410e..9ed6e95 100644 --- a/source/debug/demangle.cpp +++ b/source/debug/demangle.cpp @@ -18,8 +18,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;