diff options
| author | kkkkkt <[email protected]> | 2014-08-13 18:26:58 +0900 |
|---|---|---|
| committer | kkkkkt <[email protected]> | 2014-08-13 18:26:58 +0900 |
| commit | a9b37bff4b985f2e4ca9e76a4197b69c1fcfd057 (patch) | |
| tree | 7b23ff1eeb296c5c45f95e8e525618360af29ca6 /src/hash.c | |
| parent | ad7085e47547a32102dff82981924407ed254769 (diff) | |
| download | mruby-a9b37bff4b985f2e4ca9e76a4197b69c1fcfd057.tar.gz mruby-a9b37bff4b985f2e4ca9e76a4197b69c1fcfd057.zip | |
refactor mrb_hash_shift, num_pow, flo_eq, flo_finite_p method
Diffstat (limited to 'src/hash.c')
| -rw-r--r-- | src/hash.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/hash.c b/src/hash.c index d91f120bf..a43e8ae19 100644 --- a/src/hash.c +++ b/src/hash.c @@ -553,18 +553,16 @@ mrb_hash_shift(mrb_state *mrb, mrb_value hash) mrb_value delKey, delVal; mrb_hash_modify(mrb, hash); - if (h) { - if (kh_size(h) > 0) { - for (k = kh_begin(h); k != kh_end(h); k++) { - if (!kh_exist(h,k)) continue; + if (h && kh_size(h) > 0) { + for (k = kh_begin(h); k != kh_end(h); k++) { + if (!kh_exist(h,k)) continue; - delKey = kh_key(h,k); - mrb_gc_protect(mrb, delKey); - delVal = mrb_hash_delete_key(mrb, hash, delKey); - mrb_gc_protect(mrb, delVal); + delKey = kh_key(h,k); + mrb_gc_protect(mrb, delKey); + delVal = mrb_hash_delete_key(mrb, hash, delKey); + mrb_gc_protect(mrb, delVal); - return mrb_assoc_new(mrb, delKey, delVal); - } + return mrb_assoc_new(mrb, delKey, delVal); } } |
