From 4821e618adddf77138279883b72e87c2211418d5 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sun, 9 May 2021 12:28:32 +0930 Subject: [PATCH] Use htab_eq_string in libctf * ctf-impl.h (ctf_dynset_eq_string): Don't declare. * ctf-hash.c (ctf_dynset_eq_string): Delete function. * ctf-dedup.c (make_set_element): Use htab_eq_string. (ctf_dedup_atoms_init, ADD_CITER, ctf_dedup_init): Likewise. (ctf_dedup_conflictify_unshared): Likewise. (ctf_dedup_walk_output_mapping): Likewise. --- libctf/ChangeLog | 9 +++++++++ libctf/ctf-dedup.c | 14 +++++++------- libctf/ctf-hash.c | 9 --------- libctf/ctf-impl.h | 2 -- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/libctf/ChangeLog b/libctf/ChangeLog index 979c6c55cb2..5d2e1984605 100644 --- a/libctf/ChangeLog +++ b/libctf/ChangeLog @@ -1,3 +1,12 @@ +2021-05-09 Alan Modra + + * ctf-impl.h (ctf_dynset_eq_string): Don't declare. + * ctf-hash.c (ctf_dynset_eq_string): Delete function. + * ctf-dedup.c (make_set_element): Use htab_eq_string. + (ctf_dedup_atoms_init, ADD_CITER, ctf_dedup_init): Likewise. + (ctf_dedup_conflictify_unshared): Likewise. + (ctf_dedup_walk_output_mapping): Likewise. + 2021-05-06 Nick Alcock * testsuite/lib/ctf-lib.exp: Use -gctf, not -gt. diff --git a/libctf/ctf-dedup.c b/libctf/ctf-dedup.c index 649a76a91b6..6a76fc81b05 100644 --- a/libctf/ctf-dedup.c +++ b/libctf/ctf-dedup.c @@ -352,7 +352,7 @@ make_set_element (ctf_dynhash_t *set, const void *key) if ((element = ctf_dynhash_lookup (set, key)) == NULL) { if ((element = ctf_dynset_create (htab_hash_string, - ctf_dynset_eq_string, + htab_eq_string, NULL)) == NULL) return NULL; @@ -376,7 +376,7 @@ ctf_dedup_atoms_init (ctf_dict_t *fp) if (!fp->ctf_dedup_atoms_alloc) { if ((fp->ctf_dedup_atoms_alloc - = ctf_dynset_create (htab_hash_string, ctf_dynset_eq_string, + = ctf_dynset_create (htab_hash_string, htab_eq_string, free)) == NULL) return ctf_set_errno (fp, ENOMEM); } @@ -584,8 +584,8 @@ ctf_dedup_rhash_type (ctf_dict_t *fp, ctf_dict_t *input, ctf_dict_t **inputs, whaterr = N_("error updating citers"); \ if (!citers) \ if ((citers = ctf_dynset_create (htab_hash_string, \ - ctf_dynset_eq_string, \ - NULL)) == NULL) \ + htab_eq_string, \ + NULL)) == NULL) \ goto oom; \ if (ctf_dynset_cinsert (citers, hval) < 0) \ goto oom; \ @@ -1656,7 +1656,7 @@ ctf_dedup_init (ctf_dict_t *fp) if ((d->cd_conflicting_types = ctf_dynset_create (htab_hash_string, - ctf_dynset_eq_string, NULL)) == NULL) + htab_eq_string, NULL)) == NULL) goto oom; return 0; @@ -1814,7 +1814,7 @@ ctf_dedup_conflictify_unshared (ctf_dict_t *output, ctf_dict_t **inputs) const void *k; ctf_dynset_t *to_mark = NULL; - if ((to_mark = ctf_dynset_create (htab_hash_string, ctf_dynset_eq_string, + if ((to_mark = ctf_dynset_create (htab_hash_string, htab_eq_string, NULL)) == NULL) goto err_no; @@ -2351,7 +2351,7 @@ ctf_dedup_walk_output_mapping (ctf_dict_t *output, ctf_dict_t **inputs, void *k; if ((already_visited = ctf_dynset_create (htab_hash_string, - ctf_dynset_eq_string, + htab_eq_string, NULL)) == NULL) return ctf_set_errno (output, ENOMEM); diff --git a/libctf/ctf-hash.c b/libctf/ctf-hash.c index 426bd625ffb..73fca6fe5d2 100644 --- a/libctf/ctf-hash.c +++ b/libctf/ctf-hash.c @@ -140,15 +140,6 @@ ctf_hash_eq_type_id_key (const void *a, const void *b) && (key_a->ctii_type == key_b->ctii_type); } -/* Hash and eq functions for the dynset. Most of these can just use the - underlying hashtab functions directly. */ - -int -ctf_dynset_eq_string (const void *a, const void *b) -{ - return !strcmp((const char *) a, (const char *) b); -} - /* The dynhash, used for hashes whose size is not known at creation time. */ /* Free a single ctf_helem with arbitrary key/value functions. */ diff --git a/libctf/ctf-impl.h b/libctf/ctf-impl.h index 342d2ff23e2..80c47239e26 100644 --- a/libctf/ctf-impl.h +++ b/libctf/ctf-impl.h @@ -617,8 +617,6 @@ extern int ctf_hash_eq_string (const void *, const void *); extern int ctf_hash_eq_type_key (const void *, const void *); extern int ctf_hash_eq_type_id_key (const void *, const void *); -extern int ctf_dynset_eq_string (const void *, const void *); - typedef void (*ctf_hash_free_fun) (void *); typedef void (*ctf_hash_iter_f) (void *key, void *value, void *arg); -- 2.30.2