From 1dc5d81dbbd7c8247402dbb5b3a3dd88b219a837 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 1 Dec 2017 19:33:04 -0800 Subject: hash: use new args keyword extraction mechanism. * hash.c (hashv): Switch over to args_keys_extract. --- hash.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/hash.c b/hash.c index 7459ec8a..f6a79370 100644 --- a/hash.c +++ b/hash.c @@ -1061,12 +1061,14 @@ void hash_process_weak(void) val hashv(struct args *args) { - val arglist = args_get_list(args); - val wkeys = memq(weak_keys_k, arglist); - val wvals = memq(weak_vals_k, arglist); - val equal = memq(equal_based_k, arglist); - val userdata = cadr(memq(userdata_k, arglist)); - val hash = make_hash(wkeys, wvals, equal); + val wkeys = nil, wvals = nil, equal = nil, userdata = nil; + val hash = (args_keys_extract(args, + weak_keys_k, nil, &wkeys, + weak_vals_k, nil, &wvals, + equal_based_k, nil, &equal, + userdata_k, t, &userdata, + nil), + make_hash(wkeys, wvals, equal)); if (userdata) set_hash_userdata(hash, userdata); return hash; -- cgit v1.2.3