summaryrefslogtreecommitdiffstats
path: root/hash.c
diff options
context:
space:
mode:
Diffstat (limited to 'hash.c')
-rw-r--r--hash.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/hash.c b/hash.c
index 96a4f802..c5fdf335 100644
--- a/hash.c
+++ b/hash.c
@@ -439,7 +439,7 @@ static void hash_grow(struct hash *h)
val key = car(entry);
val *pchain = vecref_l(new_table,
num_fast(h->hash_fun(key) % new_modulus));
- *cdr_l(conses) = *pchain;
+ set(*cdr_l(conses), *pchain);
*pchain = conses;
conses = next;
}
@@ -518,7 +518,7 @@ val copy_hash(val existing)
h->acons_new_c_fun = ex->acons_new_c_fun;
for (iter = zero; lt(iter, mod); iter = plus(iter, one))
- *vecref_l(h->table, iter) = copy_alist(vecref(ex->table, iter));
+ set(*vecref_l(h->table, iter), copy_alist(vecref(ex->table, iter)));
return hash;
}
@@ -1027,9 +1027,9 @@ val hash_update_1(val hash, val key, val fun, val init)
val new_p;
val *place = gethash_l(hash, key, &new_p);
if (new_p)
- *place = funcall1(fun, init);
+ set(*place, funcall1(fun, init));
else
- *place = funcall1(fun, *place);
+ set(*place, funcall1(fun, *place));
return *place;
}
}