From a4b872687408e7624ccb500fbce8467ae3f821e6 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 14 Feb 2014 16:53:44 -0800 Subject: * hash.c (inhash): Simplify code with gethash_f. --- ChangeLog | 4 ++++ hash.c | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index e4ce63d9..02d0323b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2014-02-14 Kaz Kylheku + + * hash.c (inhash): Simplify code with gethash_f. + 2014-02-14 Kaz Kylheku * eval.c (eval_init): Registered hash_update_1 as intrinsic. diff --git a/hash.c b/hash.c index 1ee0a248..c0c66114 100644 --- a/hash.c +++ b/hash.c @@ -544,13 +544,12 @@ val gethash(val hash, val key) val inhash(val hash, val key, val init) { - struct hash *h = (struct hash *) cobj_handle(hash, hash_s); val found; if (missingp(init)) { - val chain = vecref(h->table, num_fast(h->hash_fun(key) % h->modulus)); - found = h->assoc_fun(key, chain); + gethash_f(hash, key, &found); } else { + struct hash *h = (struct hash *) cobj_handle(hash, hash_s); val *pchain = vecref_l(h->table, num_fast(h->hash_fun(key) % h->modulus)); val old = *pchain, new_p; val *place = h->acons_new_l_fun(key, &new_p, pchain); -- cgit v1.2.3