From 6b4e2804f2da87aa3d15d407acc9b774a01d1555 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 14 Feb 2014 17:42:08 -0800 Subject: 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. --- hash.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'hash.h') diff --git a/hash.h b/hash.h index 0b293801..e90fccd4 100644 --- a/hash.h +++ b/hash.h @@ -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); -- cgit v1.2.3