diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/hash.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/hash.c b/src/hash.c index 3a2399c27..a435b4afd 100644 --- a/src/hash.c +++ b/src/hash.c @@ -602,7 +602,6 @@ mrb_hash_shift(mrb_state *mrb, mrb_value hash) khash_t(ht) *h = RHASH_TBL(hash); khiter_t k; mrb_value delKey, delVal; - mrb_value result; mrb_hash_modify(mrb, hash); if (h) { @@ -613,10 +612,7 @@ mrb_hash_shift(mrb_state *mrb, mrb_value hash) delKey = kh_key(h,k); delVal = mrb_hash_delete_key(mrb, hash, delKey); - result = mrb_hash_new(mrb, 1); - k = kh_put(ht, RHASH_TBL(result), KEY(delKey)); - kh_value(RHASH_TBL(result), k) = delVal; - return result; + return mrb_assoc_new(mrb, delKey, delVal); } } } |
