summaryrefslogtreecommitdiffhomepage
path: root/src/kernel.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/kernel.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/kernel.c')
-rw-r--r--src/kernel.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/kernel.c b/src/kernel.c
index 1674b0d5d..15567a65f 100644
--- a/src/kernel.c
+++ b/src/kernel.c
@@ -733,7 +733,7 @@ method_entry_loop(mrb_state *mrb, struct RClass* klass, khash_t(st)* set)
if (!h) return;
for (i=0;i<kh_end(h);i++) {
if (kh_exist(h, i)) {
- kh_put(st, set, kh_key(h,i));
+ kh_put(st, mrb, set, kh_key(h,i));
}
}
}
@@ -765,7 +765,7 @@ class_instance_method_list(mrb_state *mrb, mrb_bool recur, struct RClass* klass,
mrb_ary_push(mrb, ary, mrb_symbol_value(kh_key(set,i)));
}
}
- kh_destroy(st, set);
+ kh_destroy(st, mrb, set);
return ary;
}
@@ -797,7 +797,7 @@ mrb_obj_singleton_methods(mrb_state *mrb, mrb_bool recur, mrb_value obj)
mrb_ary_push(mrb, ary, mrb_symbol_value(kh_key(set,i)));
}
}
- kh_destroy(st, set);
+ kh_destroy(st, mrb, set);
return ary;
}