summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtes <ludovic.courtes@laas.fr>2006-06-25 22:43:33 +0000
committerLudovic Courtès <ludo@gnu.org>2008-09-10 20:28:12 +0200
commit639e56a4edaae413a238e62158503978c18545be (patch)
tree5997fc3463b3356ff0c14bfa5d4a3481905012b8
parente13f1cbdffa4f333d9866d1b22cd2c9a3b17b3bd (diff)
downloadguile-639e56a4edaae413a238e62158503978c18545be.tar.gz
Re-fixed the hash table element counting in `scm_i_rehash ()'.
* libguile/hashtab.c (scm_i_rehash): Don't invoke `SCM_HASHTABLE_DECREMENT ()' when a weak pair is encountered in the source bucket. git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-43
-rw-r--r--libguile/hashtab.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/libguile/hashtab.c b/libguile/hashtab.c
index 9671a47ea..633d26261 100644
--- a/libguile/hashtab.c
+++ b/libguile/hashtab.c
@@ -274,11 +274,8 @@ scm_i_rehash (SCM table,
ls = SCM_CDR (ls);
if (SCM_WEAK_PAIR_DELETED_P (handle))
- {
- /* HANDLE is a nullified weak pair: skip it. */
- SCM_HASHTABLE_DECREMENT (table);
- continue;
- }
+ /* HANDLE is a nullified weak pair: skip it. */
+ continue;
h = hash_fn (SCM_CAR (handle), new_size, closure);
if (h >= new_size)