From a6e25f73a05bb0292c0c9f10b77c5cdaf260e4d0 Mon Sep 17 00:00:00 2001 From: Clayton Smith Date: Tue, 28 Mar 2017 16:31:19 -0400 Subject: Renumber hash keys during dup since there may be duplicates. --- src/hash.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/hash.c b/src/hash.c index d15faa206..3a7aea245 100644 --- a/src/hash.c +++ b/src/hash.c @@ -246,7 +246,8 @@ mrb_hash_dup(mrb_state *mrb, mrb_value hash) int ai = mrb_gc_arena_save(mrb); ret_k = kh_put(ht, mrb, ret_h, KEY(kh_key(h, k))); mrb_gc_arena_restore(mrb, ai); - kh_val(ret_h, ret_k) = kh_val(h, k); + kh_val(ret_h, ret_k).v = kh_val(h, k).v; + kh_val(ret_h, ret_k).n = kh_size(ret_h)-1; } } } -- cgit v1.2.3