diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-02-14 17:42:08 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-02-14 17:42:08 -0800 |
commit | 6b4e2804f2da87aa3d15d407acc9b774a01d1555 (patch) | |
tree | 82d5a1768cb57c743f53a398cb141b3fded30fda /hash.h | |
parent | a4b872687408e7624ccb500fbce8467ae3f821e6 (diff) | |
download | txr-6b4e2804f2da87aa3d15d407acc9b774a01d1555.tar.gz txr-6b4e2804f2da87aa3d15d407acc9b774a01d1555.tar.bz2 txr-6b4e2804f2da87aa3d15d407acc9b774a01d1555.zip |
Replacing acons_new_l and aconsq_new_l interfaces with ones
that return the new or old cons cell rather than a pointer
to its cdr field.
* eval.c (transform_op): use of acons_new_l replaced with
acons_new_c.
* hash.c (struct hash): acons_new_l_fun member replaced
with acons_new_c_fun.
(make_hash, make_similar_hash): initialize acons_new_l_fun
member using either acons_new_c or aconsql_new_c.
(gethash_l): function becomes an inline in hash.h.
(gethash_c): new function, based on gethash_l.
(inhash, gethash_n): updated w.r.t struct hash change.
* hash.h (gethash_c): declared.
(gethash_l): becomes an inline wrapper for gethash_c.
* lib.c (acons_new_l, aconsql_new_l): functions removed.
(acons_new_c, aconsql_new_c): new functions.
(obj_init): use gethash_c and rplacd instead of gethash_l
and set.
* lib.h (acons_new_l, aconsql_new_l): declarations removed.
(acons_new_c, aconsql_new_c): declared.
Diffstat (limited to 'hash.h')
-rw-r--r-- | hash.h | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -29,7 +29,7 @@ extern val weak_keys_k, weak_vals_k, equal_based_k; val make_hash(val weak_keys, val weak_vals, val equal_based); val make_similar_hash(val existing); val copy_hash(val existing); -val *gethash_l(val hash, val key, val *new_p); +val gethash_c(val hash, val key, val *new_p); val gethash(val hash, val key); val inhash(val hash, val key, val init); val gethash_n(val hash, val key, val notfound_val); @@ -61,4 +61,9 @@ val hash_update_1(val hash, val key, val fun, val init); void hash_process_weak(void); +INLINE val *gethash_l(val hash, val key, val *new_p) +{ + return cdr_l(gethash_c(hash, key, new_p)); +} + void hash_init(void); |