diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-02-14 16:53:44 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-02-14 16:53:44 -0800 |
commit | a4b872687408e7624ccb500fbce8467ae3f821e6 (patch) | |
tree | 1a3ec45833adda6b28f99131d6e1e2a67c43dbb6 /hash.c | |
parent | 9273e90571ff155477aaadd55040fe75e4a8d9e2 (diff) | |
download | txr-a4b872687408e7624ccb500fbce8467ae3f821e6.tar.gz txr-a4b872687408e7624ccb500fbce8467ae3f821e6.tar.bz2 txr-a4b872687408e7624ccb500fbce8467ae3f821e6.zip |
* hash.c (inhash): Simplify code with gethash_f.
Diffstat (limited to 'hash.c')
-rw-r--r-- | hash.c | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -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); |