diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-11-19 03:46:58 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-11-19 03:46:58 +0900 |
| commit | 9b2454c94dd12ead5e3d3c724da61b05c2e54fd8 (patch) | |
| tree | 5f8c8dd3c1292c8f4775a96712a45dc51b86ae8b /src | |
| parent | 7405821f5afb0b339fccad4f33c42ed845794673 (diff) | |
| download | mruby-9b2454c94dd12ead5e3d3c724da61b05c2e54fd8.tar.gz mruby-9b2454c94dd12ead5e3d3c724da61b05c2e54fd8.zip | |
Leave `hash->ht` to be `NULL` if initial capacity is zero.
Diffstat (limited to 'src')
| -rw-r--r-- | src/hash.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/hash.c b/src/hash.c index 27d481947..feb06d843 100644 --- a/src/hash.c +++ b/src/hash.c @@ -144,7 +144,10 @@ mrb_hash_new_capa(mrb_state *mrb, mrb_int capa) h = (struct RHash*)mrb_obj_alloc(mrb, MRB_TT_HASH, mrb->hash_class); /* khash needs 1/4 empty space so it is not resized immediately */ - h->ht = kh_init_size(ht, mrb, (khint_t)(capa*4/3)); + if (capa == 0) + h->ht = 0; + else + h->ht = kh_init_size(ht, mrb, (khint_t)(capa*4/3)); h->iv = 0; return mrb_obj_value(h); } |
