* Now handles function pointers as arguments correctly.
* Added optional tracing output. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28377 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
9521c5abb6
commit
b643734ad7
@ -13,6 +13,14 @@
|
||||
#include <debug.h>
|
||||
|
||||
|
||||
//#define TRACE_GCC2_DEMANGLER
|
||||
#ifdef TRACE_GCC2_DEMANGLER
|
||||
# define TRACE(x...) kprintf(x)
|
||||
#else
|
||||
# define TRACE(x...) ;
|
||||
#endif
|
||||
|
||||
|
||||
enum {
|
||||
TYPE_FUNCTION,
|
||||
TYPE_METHOD,
|
||||
@ -22,8 +30,15 @@ enum {
|
||||
static void
|
||||
ignore_qualifiers(const char** _arg)
|
||||
{
|
||||
while (isupper(**_arg))
|
||||
while (isupper(**_arg)) {
|
||||
if (**_arg == 'F') {
|
||||
// skip function declaration
|
||||
while (**_arg && **_arg != '_')
|
||||
(*_arg)++;
|
||||
}
|
||||
|
||||
(*_arg)++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -333,6 +348,8 @@ get_next_argument_internal(uint32* _cookie, const char* symbol, char* name,
|
||||
if (arg == NULL)
|
||||
return B_ENTRY_NOT_FOUND;
|
||||
|
||||
TRACE("\n\targ %ld: %s\n", current, arg);
|
||||
|
||||
if (arg[0] == 'T') {
|
||||
// duplicate argument
|
||||
if (repeating)
|
||||
|
Loading…
x
Reference in New Issue
Block a user