diff options
author | Ian Wienand <ianw@ieee.org> | 2006-02-16 06:00:00 +0100 |
---|---|---|
committer | Ian Wienand <ianw@debian.org> | 2006-02-16 06:00:00 +0100 |
commit | 3219f320604810532a4938dda8f9dfadb0e840f3 (patch) | |
tree | f2430182cafc250b2fcb9eb5c05730b2ce0d802f /demangle.c | |
parent | e1dd50cdd23a11bf7be6c81b3a2acbe35f19fdea (diff) | |
download | ltrace-3219f320604810532a4938dda8f9dfadb0e840f3.tar.gz |
Some fixes...
* read_config_file.c: initialise pt stack argument to stop warning
* summary.c: make show_summary() obey -C for demangaling function names
Diffstat (limited to 'demangle.c')
-rw-r--r-- | demangle.c | 22 |
1 files changed, 12 insertions, 10 deletions
@@ -16,19 +16,19 @@ /*****************************************************************************/ -static struct dict * d = NULL; +static struct dict *d = NULL; -static void -my_demangle_dict_clear(void) { +static void my_demangle_dict_clear(void) +{ /* FIXME TODO XXX: I should also free all (key,value) pairs */ dict_clear(d); } -const char * -my_demangle(const char * function_name) { - const char * tmp, * fn_copy; +const char *my_demangle(const char *function_name) +{ + const char *tmp, *fn_copy; #if !defined HAVE_LIBIBERTY && defined HAVE_LIBSUPC__ - extern char *__cxa_demangle (const char *, char *, size_t *, int *); + extern char *__cxa_demangle(const char *, char *, size_t *, int *); int status = 0; #endif @@ -36,7 +36,7 @@ my_demangle(const char * function_name) { d = dict_init(dict_key2hash_string, dict_key_cmp_string); atexit(my_demangle_dict_clear); } - + tmp = dict_find_entry(d, (void *)function_name); if (!tmp) { fn_copy = strdup(function_name); @@ -45,8 +45,10 @@ my_demangle(const char * function_name) { #elif defined HAVE_LIBSUPC__ tmp = __cxa_demangle(function_name, NULL, NULL, &status); #endif - if (!tmp) tmp = fn_copy; - if (tmp) dict_enter(d, (void *)fn_copy, (void *)tmp); + if (!tmp) + tmp = fn_copy; + if (tmp) + dict_enter(d, (void *)fn_copy, (void *)tmp); } return tmp; } |