Delete search_symbols_equal (use compare_search_syms instead).

This avoids duplicating the logic comparing two symbol_search
objects (in search_symbols_equal and compare_search_syms).

gdb/ChangeLog:

        * symtab.c (search_symbols_equal): Delete.
        (sort_search_symbols_remove_dups): Replace call to
        search_symbols_equal by call to compare_search_syms,
        adjusting as necessary.
This commit is contained in:
Joel Brobecker 2013-10-02 09:22:32 +00:00
parent 751e7549b0
commit 6b9780fbbd
2 changed files with 8 additions and 14 deletions

View File

@ -1,3 +1,10 @@
2013-10-02 Joel Brobecker <brobecker@adacore.com>
* symtab.c (search_symbols_equal): Delete.
(sort_search_symbols_remove_dups): Replace call to
search_symbols_equal by call to compare_search_syms,
adjusting as necessary.
2013-10-02 Phil Muldoon <pmuldoon@redhat.com> 2013-10-02 Phil Muldoon <pmuldoon@redhat.com>
PR python/15579 PR python/15579

View File

@ -3347,19 +3347,6 @@ compare_search_syms (const void *sa, const void *sb)
SYMBOL_PRINT_NAME (sym_b->symbol)); SYMBOL_PRINT_NAME (sym_b->symbol));
} }
/* Helper function for sort_search_symbols_remove_dups.
Return TRUE if symbols A, B are equal. */
static int
search_symbols_equal (const struct symbol_search *a,
const struct symbol_search *b)
{
return (strcmp (a->symtab->filename, b->symtab->filename) == 0
&& a->block == b->block
&& strcmp (SYMBOL_PRINT_NAME (a->symbol),
SYMBOL_PRINT_NAME (b->symbol)) == 0);
}
/* Sort the NFOUND symbols in list FOUND and remove duplicates. /* Sort the NFOUND symbols in list FOUND and remove duplicates.
The duplicates are freed, and the new list is returned in The duplicates are freed, and the new list is returned in
*NEW_HEAD, *NEW_TAIL. */ *NEW_HEAD, *NEW_TAIL. */
@ -3393,7 +3380,7 @@ sort_search_symbols_remove_dups (struct symbol_search *found, int nfound,
/* Collapse out the dups. */ /* Collapse out the dups. */
for (i = 1, j = 1; i < nfound; ++i) for (i = 1, j = 1; i < nfound; ++i)
{ {
if (! search_symbols_equal (symbols[j - 1], symbols[i])) if (compare_search_syms (&symbols[j - 1], &symbols[i]) != 0)
symbols[j++] = symbols[i]; symbols[j++] = symbols[i];
else else
xfree (symbols[i]); xfree (symbols[i]);