From cddd91863740e560ae95ccdd2be5aa0e128713ed Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 22 Jul 2021 07:18:58 -0700 Subject: hash: change make_hash interface. The make_hash function now takes the hash_weak_opt_t enumeration instead of a pair of flags. * hash.c (do_make_hash): Take enum argument instead of pair of flags. Just store the option; nothing to calculate. (weak_opt_from_flags): New static function. (tweak_hash): Function removed. (make_seeded_hash): Adjust to new do_make_hash interface with help from weak_opt_from_flags. (make_hash, make_eq_hash): Take enum argument instead of pair of flags. (hashv): Calculate hash_weak_opt_t enum from the extracted flags, pass down to make_eq_hash or make_hash. * hash.h (tweak_hash): Declration removed. (make_hash, make_eq_hash): Declarations updated. * eval.c (me_case, expand_switch): Update make_hash calls to new style. (eval_init): Update make_hash calls and get rid of tweak_hash calls. This renders the tweak_hash function unused. * ffi.c (make_ffi_type_enum, ffi_init): Update make_hash calls to new style. * filter.c (make_trie, trie_add, filter_init): Likewise. * lib.c (make_package_common, obj_init, obj_print): Likewise. * lisplib.c (lisplib_init): Likewise. * match.c (dir_tables_init): Likewise. * parser.c (parser_circ_def, repl, parse_init): Likewise. * parser.l (parser_l_init): Likewise. * struct.c (struct_init, get_slot_syms): Likewise. * sysif.c (get_env_hash): Likewise. * lex.yy.c.shipped, y.tab.c.shipped: Updated. --- hash.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'hash.h') diff --git a/hash.h b/hash.h index e92502a8..4a1867a8 100644 --- a/hash.h +++ b/hash.h @@ -47,9 +47,8 @@ extern struct cobj_class *hash_cls; ucnum equal_hash(val obj, int *count, ucnum); val make_seeded_hash(val weak_keys, val weak_vals, val equal_based, val seed); -void tweak_hash(val hash, hash_weak_opt_t); -val make_hash(val weak_keys, val weak_vals, val equal_based); -val make_eq_hash(val weak_keys, val weak_vals); +val make_hash(hash_weak_opt_t, val equal_based); +val make_eq_hash(hash_weak_opt_t); val make_similar_hash(val existing); val copy_hash(val existing); val gethash_c(val self, val hash, val key, loc new_p); -- cgit v1.2.3