From d276311738a3863e58a1281e56e2073169e7b405 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Mon, 22 Dec 2014 08:44:50 -0800 Subject: [PATCH] cp-namespace.c (cp_lookup_symbol_in_namespace): Simplify. gdb/ChangeLog: * cp-namespace.c (cp_lookup_symbol_in_namespace): Simplify. --- gdb/ChangeLog | 4 ++++ gdb/cp-namespace.c | 19 +++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1c79b3366c7..ccad5edd3f3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2014-12-22 Doug Evans + + * cp-namespace.c (cp_lookup_symbol_in_namespace): Simplify. + 2014-12-22 Doug Evans * cp-namespace.c: Whitespace cleanup. diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c index bcb2275ff38..b3ecffbb5e4 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 -- 2.30.2