diff options
author | Marco Gerards <marco@gnu.org> | 2004-04-02 17:01:03 +0000 |
---|---|---|
committer | Marco Gerards <marco@gnu.org> | 2004-04-02 17:01:03 +0000 |
commit | 83e12119b30fd0c01204aff8f8b40a1700eb72ab (patch) | |
tree | 38b101203140eec9cf07502e79af14ab2515d7b7 /libihash/ihash.c | |
parent | 01fa2523031ed2e4b7b692e2162e925619310688 (diff) |
2004-04-02 Marco Gerards <metgerards@student.han.nl>
* ihash.c (hurd_ihash_remove): Don't look for the index when the
hashtable is empty.
* ihash.h (HURD_IHASH_ITERATE): Doc fix.
Diffstat (limited to 'libihash/ihash.c')
-rw-r--r-- | libihash/ihash.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/libihash/ihash.c b/libihash/ihash.c index a6b96376..8fa9d514 100644 --- a/libihash/ihash.c +++ b/libihash/ihash.c @@ -1,5 +1,5 @@ /* ihash.c - Integer-keyed hash table functions. - Copyright (C) 1993-1997, 2001, 2003 Free Software Foundation, Inc. + Copyright (C) 1993-1997, 2001, 2003, 2004 Free Software Foundation, Inc. Written by Michael I. Bushnell. Revised by Miles Bader <miles@gnu.org>. Revised by Marcus Brinkmann <marcus@gnu.org>. @@ -419,15 +419,18 @@ hurd_ihash_find (hurd_ihash_t ht, hurd_ihash_key_t key) int hurd_ihash_remove (hurd_ihash_t ht, hurd_ihash_key_t key) { - int idx = find_index (ht, key); - - if (index_valid (ht, idx, key)) + if (ht->size != 0) { - locp_remove (ht, &ht->items[idx].value); - return 1; + int idx = find_index (ht, key); + + if (index_valid (ht, idx, key)) + { + locp_remove (ht, &ht->items[idx].value); + return 1; + } } - else - return 0; + + return 0; } |