diff options
author | DJ Delorie <dj@delorie.com> | 2004-04-13 15:23:19 +0000 |
---|---|---|
committer | DJ Delorie <dj@delorie.com> | 2004-04-13 15:23:19 +0000 |
commit | e0a8313d710582858ed866adc56271f3ab64296a (patch) | |
tree | c9110ec762736508d8a0c3be20e4e71bc5e9f1b2 /libiberty | |
parent | 83ec593983604b331f9b40e81c314046a0236089 (diff) | |
download | gdb-e0a8313d710582858ed866adc56271f3ab64296a.tar.gz |
merge from gcc
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 5 | ||||
-rw-r--r-- | libiberty/hashtab.c | 18 |
2 files changed, 21 insertions, 2 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 661ca4b45b9..7da2d46d608 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,8 @@ +2004-04-13 Jeff Law <law@redhat.com> + + * hashtab.c (htab_remove_elt_with_hash): New function. + (htab_remove_elt): Implement in terms of htab_remove_elt_with_hash. + 2004-03-31 Richard Henderson <rth@redhat.com> * hashtab.c (htab_size): Move to top of file; mark inline. diff --git a/libiberty/hashtab.c b/libiberty/hashtab.c index f7751664f04..2639428df9c 100644 --- a/libiberty/hashtab.c +++ b/libiberty/hashtab.c @@ -600,17 +600,31 @@ htab_find_slot (htab, element, insert) } /* This function deletes an element with the given value from hash + table (the hash is computed from the element). If there is no matching + element in the hash table, this function does nothing. */ + +void +htab_remove_elt (htab, element) + htab_t htab; + PTR element; +{ + htab_remove_elt_with_hash (htab, element, (*htab->hash_f) (element)); +} + + +/* This function deletes an element with the given value from hash table. If there is no matching element in the hash table, this function does nothing. */ void -htab_remove_elt (htab, element) +htab_remove_elt_with_hash (htab, element, hash) htab_t htab; PTR element; + hashval_t hash; { PTR *slot; - slot = htab_find_slot (htab, element, NO_INSERT); + slot = htab_find_slot_with_hash (htab, element, hash, NO_INSERT); if (*slot == EMPTY_ENTRY) return; |