From 83e12119b30fd0c01204aff8f8b40a1700eb72ab Mon Sep 17 00:00:00 2001 From: Marco Gerards Date: Fri, 2 Apr 2004 17:01:03 +0000 Subject: 2004-04-02 Marco Gerards * ihash.c (hurd_ihash_remove): Don't look for the index when the hashtable is empty. * ihash.h (HURD_IHASH_ITERATE): Doc fix. --- libihash/ihash.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'libihash/ihash.c') 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 . Revised by Marcus Brinkmann . @@ -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; } -- cgit v1.2.3