From 56b13bd393e3e1a205888af374a236aae668140a Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Tue, 1 Oct 2013 14:15:46 +0200 Subject: [PATCH 1/2] 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. --- gdb/symtab.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/gdb/symtab.c b/gdb/symtab.c index dbff042..cf03b43 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -3347,19 +3347,6 @@ compare_search_syms (const void *sa, const void *sb) 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. The duplicates are freed, and the new list is returned in *NEW_HEAD, *NEW_TAIL. */ @@ -3393,7 +3380,7 @@ sort_search_symbols_remove_dups (struct symbol_search *found, int nfound, /* Collapse out the dups. */ 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]; else xfree (symbols[i]); -- 1.8.1.2