From 8cd32d5b065fd7262e50edbe0b64cc32c7d5121c Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sat, 20 Jun 2009 18:43:38 +0000 Subject: [PATCH] Added function demangle_name_gcc3() not used in the add-on. The whole demangler should better be moved to a shared location. Eventually... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31145 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/debugger/demangle/demangle.h | 4 ++++ src/add-ons/kernel/debugger/demangle/gcc3+.cpp | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/add-ons/kernel/debugger/demangle/demangle.h b/src/add-ons/kernel/debugger/demangle/demangle.h index b3c4237723..c84b113f72 100644 --- a/src/add-ons/kernel/debugger/demangle/demangle.h +++ b/src/add-ons/kernel/debugger/demangle/demangle.h @@ -22,6 +22,10 @@ const char* demangle_symbol_gcc3(const char* name, char* buffer, status_t get_next_argument_gcc3(uint32* _cookie, const char* symbol, char* name, size_t nameSize, int32* _type, size_t* _argumentLength); +#ifndef _KERNEL_MODE +const char* demangle_name_gcc3(const char* name, char* buffer, + size_t bufferSize); +#endif #endif // DEMANGLE_H diff --git a/src/add-ons/kernel/debugger/demangle/gcc3+.cpp b/src/add-ons/kernel/debugger/demangle/gcc3+.cpp index 590de881f0..3cc92016bf 100644 --- a/src/add-ons/kernel/debugger/demangle/gcc3+.cpp +++ b/src/add-ons/kernel/debugger/demangle/gcc3+.cpp @@ -3870,3 +3870,19 @@ get_next_argument_gcc3(uint32* _cookie, const char* mangledName, char* name, ++*_cookie; return B_OK; } + + +#ifndef _KERNEL_MODE + +const char* +demangle_name_gcc3(const char* mangledName, char* buffer, size_t bufferSize) +{ + + Demangler demangler; + DemanglingInfo info(false); + if (demangler.Demangle(mangledName, buffer, bufferSize, info) != ERROR_OK) + return NULL; + return buffer; +} + +#endif