diff options
| -rw-r--r-- | include/mruby/khash.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/mruby/khash.h b/include/mruby/khash.h index cad3bc5d3..d53383f69 100644 --- a/include/mruby/khash.h +++ b/include/mruby/khash.h @@ -188,8 +188,9 @@ kh_fill_flags(uint8_t *p, uint8_t c, size_t len) if (del_k != kh_end(h)) { \ /* put at del */ \ h->keys[del_k] = key; \ - h->ed_flags[k/4] &= ~__m_del[k%4]; \ + h->ed_flags[del_k/4] &= ~__m_del[del_k%4]; \ h->size++; \ + return del_k; \ } \ else { \ /* put at empty */ \ @@ -197,8 +198,8 @@ 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) \ { \ |
