diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-04-13 00:32:23 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-04-13 00:32:23 +0900 |
| commit | 45eccd1333c099ff77c24c48029cfd67424cde52 (patch) | |
| tree | ea1f59bd2f3d57607807ee5345ee8e935d442cdc | |
| parent | a18f22e1b4c49c864ed00300053c01b10d799f85 (diff) | |
| download | mruby-45eccd1333c099ff77c24c48029cfd67424cde52.tar.gz mruby-45eccd1333c099ff77c24c48029cfd67424cde52.zip | |
khash.h: use first found k_del
| -rw-r--r-- | include/mruby/khash.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/mruby/khash.h b/include/mruby/khash.h index d53383f69..3a4315db0 100644 --- a/include/mruby/khash.h +++ b/include/mruby/khash.h @@ -180,7 +180,7 @@ kh_fill_flags(uint8_t *p, uint8_t c, size_t len) return k; \ } \ } \ - else { \ + else if (del_k != kh_end(h)) { \ del_k = k; \ } \ k = (k+khash_inc(h)) & khash_mask(h); \ @@ -190,7 +190,7 @@ kh_fill_flags(uint8_t *p, uint8_t c, size_t len) h->keys[del_k] = key; \ h->ed_flags[del_k/4] &= ~__m_del[del_k%4]; \ h->size++; \ - return del_k; \ + return del_k; \ } \ else { \ /* put at empty */ \ @@ -198,7 +198,7 @@ kh_fill_flags(uint8_t *p, uint8_t c, size_t len) h->ed_flags[k/4] &= ~__m_empty[k%4]; \ h->size++; \ h->n_occupied++; \ - return k; \ + return k; \ } \ } \ void kh_del_##name(mrb_state *mrb, kh_##name##_t *h, khint_t x) \ |
