diff options
author | Tom Tromey <tom@tromey.com> | 2020-02-19 17:16:51 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2020-02-19 17:22:13 -0700 |
commit | 869d89506ca4b97b1b31d0d9e7508d980a3653b6 (patch) | |
tree | 9f4b3360f8fa532748ff392182f36df8ea417618 | |
parent | 5f1839bbd2ed70c26813d239bbf441bdd22ae87b (diff) | |
download | gdb-869d89506ca4b97b1b31d0d9e7508d980a3653b6.zip gdb-869d89506ca4b97b1b31d0d9e7508d980a3653b6.tar.gz gdb-869d89506ca4b97b1b31d0d9e7508d980a3653b6.tar.bz2 |
Two compute_and_set_names simplifications
This patch simplifies compute_and_set_names in a couple of ways.
First, it changes one spot to use obstack_strndup, which is
equivalent, but more concise.
Second, the function ends with two calls to symbol_set_demangled_name.
This can be simplified to a single call.
gdb/ChangeLog
2020-02-19 Tom Tromey <tom@tromey.com>
* symtab.c (general_symbol_info::compute_and_set_names): Use
obstack_strndup. Simplify call to symbol_set_demangled_name.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/symtab.c | 18 |
2 files changed, 10 insertions, 13 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b4a586c..e3f7e9f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-02-19 Tom Tromey <tom@tromey.com> + + * symtab.c (general_symbol_info::compute_and_set_names): Use + obstack_strndup. Simplify call to symbol_set_demangled_name. + 2020-02-19 Simon Marchi <simon.marchi@efficios.com> * dwarf2/read.c (allocate_signatured_type_table, diff --git a/gdb/symtab.c b/gdb/symtab.c index d99be41..a80b80d 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -869,14 +869,9 @@ general_symbol_info::compute_and_set_names (gdb::string_view linkage_name, if (!copy_name) m_name = linkage_name.data (); else - { - char *name = (char *) obstack_alloc (&per_bfd->storage_obstack, - linkage_name.length () + 1); - - memcpy (name, linkage_name.data (), linkage_name.length ()); - name[linkage_name.length ()] = '\0'; - m_name = name; - } + m_name = obstack_strndup (&per_bfd->storage_obstack, + linkage_name.data (), + linkage_name.length ()); symbol_set_demangled_name (this, NULL, &per_bfd->storage_obstack); return; @@ -967,11 +962,8 @@ general_symbol_info::compute_and_set_names (gdb::string_view linkage_name, m_language = (*slot)->language; m_name = (*slot)->mangled.data (); - if ((*slot)->demangled != nullptr) - symbol_set_demangled_name (this, (*slot)->demangled.get (), - &per_bfd->storage_obstack); - else - symbol_set_demangled_name (this, NULL, &per_bfd->storage_obstack); + symbol_set_demangled_name (this, (*slot)->demangled.get (), + &per_bfd->storage_obstack); } /* See symtab.h. */ |