diff options
author | Doug Evans <xdje42@gmail.com> | 2014-12-22 08:44:50 -0800 |
---|---|---|
committer | Doug Evans <xdje42@gmail.com> | 2014-12-22 08:44:50 -0800 |
commit | d276311738a3863e58a1281e56e2073169e7b405 (patch) | |
tree | 2379d80d239438534bffd2941c4ecff81d6c4530 /gdb/cp-namespace.c | |
parent | 791244bea2544503c626ffdd5fdb4ff657f98207 (diff) | |
download | gdb-d276311738a3863e58a1281e56e2073169e7b405.zip gdb-d276311738a3863e58a1281e56e2073169e7b405.tar.gz gdb-d276311738a3863e58a1281e56e2073169e7b405.tar.bz2 |
cp-namespace.c (cp_lookup_symbol_in_namespace): Simplify.
gdb/ChangeLog:
* cp-namespace.c (cp_lookup_symbol_in_namespace): Simplify.
Diffstat (limited to 'gdb/cp-namespace.c')
-rw-r--r-- | gdb/cp-namespace.c | 19 |
1 files changed, 9 insertions, 10 deletions
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 |