diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/cp-namespace.c | 19 |
2 files changed, 13 insertions, 10 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1c79b33..ccad5ed 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2014-12-22 Doug Evans <xdje42@gmail.com> + * cp-namespace.c (cp_lookup_symbol_in_namespace): Simplify. + +2014-12-22 Doug Evans <xdje42@gmail.com> + * cp-namespace.c: Whitespace cleanup. 2014-12-20 Keith Seitz <keiths@redhat.com> diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c index bcb2275..b3ecffb 100644 --- a/gdb/cp-namespace.c +++ b/gdb/cp-namespace.c @@ -317,21 +317,20 @@ cp_lookup_symbol_in_namespace (const char *namespace, const struct block *block, const domain_enum domain, int search) { - if (namespace[0] == '\0') - { - return lookup_symbol_file (name, block, domain, 0, search); - } - else - { - char *concatenated_name = alloca (strlen (namespace) + 2 - + strlen (name) + 1); + char *concatenated_name = NULL; + int is_anonymous = namespace[0] != '\0' && cp_is_in_anonymous (namespace); + if (namespace[0] != '\0') + { + concatenated_name = alloca (strlen (namespace) + 2 + + strlen (name) + 1); strcpy (concatenated_name, namespace); strcat (concatenated_name, "::"); strcat (concatenated_name, name); - return lookup_symbol_file (concatenated_name, block, domain, - cp_is_in_anonymous (namespace), search); + name = concatenated_name; } + + return lookup_symbol_file (name, block, domain, is_anonymous, search); } /* Used for cleanups to reset the "searched" flag incase |