summaryrefslogtreecommitdiffhomepage
path: root/src/variable.c
diff options
context:
space:
mode:
authorcrimsonwoods <[email protected]>2013-12-23 00:33:07 -0800
committercrimsonwoods <[email protected]>2013-12-23 00:33:07 -0800
commit370ad6fade6a9915be2541f089ebf2e3def7bd1d (patch)
tree696d2b61b06014ceba5322074043e9d308d50fe7 /src/variable.c
parent83c45e73d4d52b25573c90e526e6be8c087700f6 (diff)
downloadmruby-370ad6fade6a9915be2541f089ebf2e3def7bd1d.tar.gz
mruby-370ad6fade6a9915be2541f089ebf2e3def7bd1d.zip
Remove 'mrb_state' field from 'kh_xxx_t' structure.
'kh_xxx_t' requires 'mrb_state' to allocate, free, and compute hash value. But 'mrb_state' should not be held by 'kh_xxx_t' and 'mrb_state' should be supplied from outside.
Diffstat (limited to 'src/variable.c')
-rw-r--r--src/variable.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/variable.c b/src/variable.c
index 5cb1aabbc..c66e7fe89 100644
--- a/src/variable.c
+++ b/src/variable.c
@@ -311,7 +311,7 @@ iv_put(mrb_state *mrb, iv_tbl *t, mrb_sym sym, mrb_value val)
khash_t(iv) *h = &t->h;
khiter_t k;
- k = kh_put(iv, h, sym);
+ k = kh_put(iv, mrb, h, sym);
kh_value(h, k) = val;
}
@@ -321,7 +321,7 @@ iv_get(mrb_state *mrb, iv_tbl *t, mrb_sym sym, mrb_value *vp)
khash_t(iv) *h = &t->h;
khiter_t k;
- k = kh_get(iv, h, sym);
+ k = kh_get(iv, mrb, h, sym);
if (k != kh_end(h)) {
if (vp) *vp = kh_value(h, k);
return TRUE;
@@ -336,10 +336,10 @@ iv_del(mrb_state *mrb, iv_tbl *t, mrb_sym sym, mrb_value *vp)
khiter_t k;
if (h) {
- k = kh_get(iv, h, sym);
+ k = kh_get(iv, mrb, h, sym);
if (k != kh_end(h)) {
mrb_value val = kh_value(h, k);
- kh_del(iv, h, k);
+ kh_del(iv, mrb, h, k);
if (vp) *vp = val;
return TRUE;
}
@@ -360,7 +360,7 @@ iv_foreach(mrb_state *mrb, iv_tbl *t, iv_foreach_func *func, void *p)
n = (*func)(mrb, kh_key(h, k), kh_value(h, k), p);
if (n > 0) return FALSE;
if (n < 0) {
- kh_del(iv, h, k);
+ kh_del(iv, mrb, h, k);
}
}
}
@@ -386,7 +386,7 @@ iv_copy(mrb_state *mrb, iv_tbl *t)
static void
iv_free(mrb_state *mrb, iv_tbl *t)
{
- kh_destroy(iv, &t->h);
+ kh_destroy(iv, mrb, &t->h);
}
#endif