diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-02-25 21:15:24 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-02-25 21:15:24 +0900 |
| commit | 192f3df9a1fca043801e42febcd4b105fa1d5733 (patch) | |
| tree | 2e83f49a75fb581e522a7d388c5cc86f978cd1a7 /mrbgems/mruby-proc-ext/src/proc.c | |
| parent | f1c2096f8ed966cf055d1a32271748b5fad4ffe0 (diff) | |
| parent | 927615e1f072d8fff3d9b84660cdce15a239e36c (diff) | |
| download | mruby-192f3df9a1fca043801e42febcd4b105fa1d5733.tar.gz mruby-192f3df9a1fca043801e42febcd4b105fa1d5733.zip | |
Merge pull request #5362 from dearblue/binding
Binding
Diffstat (limited to 'mrbgems/mruby-proc-ext/src/proc.c')
| -rw-r--r-- | mrbgems/mruby-proc-ext/src/proc.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/mrbgems/mruby-proc-ext/src/proc.c b/mrbgems/mruby-proc-ext/src/proc.c index 6117c4d40..9d8a7b037 100644 --- a/mrbgems/mruby-proc-ext/src/proc.c +++ b/mrbgems/mruby-proc-ext/src/proc.c @@ -13,11 +13,9 @@ mrb_proc_lambda_p(mrb_state *mrb, mrb_value self) return mrb_bool_value(MRB_PROC_STRICT_P(p)); } -static mrb_value -mrb_proc_source_location(mrb_state *mrb, mrb_value self) +mrb_value +mrb_proc_source_location(mrb_state *mrb, struct RProc *p) { - struct RProc *p = mrb_proc_ptr(self); - if (MRB_PROC_CFUNC_P(p)) { return mrb_nil_value(); } @@ -35,6 +33,12 @@ mrb_proc_source_location(mrb_state *mrb, mrb_value self) } static mrb_value +mrb_proc_source_location_m(mrb_state *mrb, mrb_value self) +{ + return mrb_proc_source_location(mrb, mrb_proc_ptr(self)); +} + +static mrb_value mrb_proc_inspect(mrb_state *mrb, mrb_value self) { struct RProc *p = mrb_proc_ptr(self); @@ -183,7 +187,7 @@ mrb_mruby_proc_ext_gem_init(mrb_state* mrb) { struct RClass *p = mrb->proc_class; mrb_define_method(mrb, p, "lambda?", mrb_proc_lambda_p, MRB_ARGS_NONE()); - mrb_define_method(mrb, p, "source_location", mrb_proc_source_location, MRB_ARGS_NONE()); + mrb_define_method(mrb, p, "source_location", mrb_proc_source_location_m, MRB_ARGS_NONE()); mrb_define_method(mrb, p, "to_s", mrb_proc_inspect, MRB_ARGS_NONE()); mrb_define_method(mrb, p, "inspect", mrb_proc_inspect, MRB_ARGS_NONE()); mrb_define_method(mrb, p, "parameters", mrb_proc_parameters, MRB_ARGS_NONE()); |
