summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2018-09-01 11:18:12 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2018-09-01 11:18:12 +0900
commit593c12a5cd670cfdb45741377236207a56541d37 (patch)
treea3586d6a797ced49a905637958e60bd82d36ad6c
parent05f377dee422d0d14ed7fda26b134a2dba8068b3 (diff)
downloadmruby-593c12a5cd670cfdb45741377236207a56541d37.tar.gz
mruby-593c12a5cd670cfdb45741377236207a56541d37.zip
Avoid `NoMethodError` exception from `mrb_func_basic_p`.
-rw-r--r--src/kernel.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/kernel.c b/src/kernel.c
index db576b20d..248fa5266 100644
--- a/src/kernel.c
+++ b/src/kernel.c
@@ -17,7 +17,8 @@
MRB_API mrb_bool
mrb_func_basic_p(mrb_state *mrb, mrb_value obj, mrb_sym mid, mrb_func_t func)
{
- mrb_method_t m = mrb_method_search(mrb, mrb_class(mrb, obj), mid);
+ struct RClass *c = mrb_class(mrb, obj);
+ mrb_method_t m = mrb_method_search_vm(mrb, &c, mid);
struct RProc *p;
if (MRB_METHOD_UNDEF_P(m)) return FALSE;