diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-01-12 14:50:25 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-01-12 14:51:34 +0900 |
| commit | a8b8d316ab80b7cf569d6bc9cb8ba993a4e6c8bc (patch) | |
| tree | 6974c8636b83ad83d84b25f1154cb3d0dfd7db20 /include | |
| parent | e1c9e7efab7cd49a6d0033c566e97a118c42b863 (diff) | |
| download | mruby-a8b8d316ab80b7cf569d6bc9cb8ba993a4e6c8bc.tar.gz mruby-a8b8d316ab80b7cf569d6bc9cb8ba993a4e6c8bc.zip | |
Save `NOARG` information in `struct mt_elem`; fix #5257
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/proc.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/mruby/proc.h b/include/mruby/proc.h index f8681b40b..25f4822bc 100644 --- a/include/mruby/proc.h +++ b/include/mruby/proc.h @@ -105,7 +105,7 @@ MRB_API mrb_value mrb_proc_cfunc_env_get(mrb_state *mrb, mrb_int idx); #ifndef MRB_USE_METHOD_T_STRUCT #define MRB_METHOD_FUNC_P(m) (((uintptr_t)(m))&MRB_METHOD_FUNC_FL) -#define MRB_METHOD_NOARG_P(m) (((uintptr_t)(m))&MRB_METHOD_NOARG_FL) +#define MRB_METHOD_NOARG_P(m) ((((uintptr_t)(m))&MRB_METHOD_NOARG_FL)?1:0) #define MRB_METHOD_NOARG_SET(m) ((m)=(mrb_method_t)(((uintptr_t)(m))|MRB_METHOD_NOARG_FL)) #define MRB_METHOD_FUNC(m) ((mrb_func_t)((uintptr_t)(m)>>2)) #define MRB_METHOD_FROM_FUNC(m,fn) ((m)=(mrb_method_t)((((uintptr_t)(fn))<<2)|MRB_METHOD_FUNC_FL)) @@ -117,7 +117,7 @@ MRB_API mrb_value mrb_proc_cfunc_env_get(mrb_state *mrb, mrb_int idx); #else #define MRB_METHOD_FUNC_P(m) ((m).flags&MRB_METHOD_FUNC_FL) -#define MRB_METHOD_NOARG_P(m) ((m).flags&MRB_METHOD_NOARG_FL) +#define MRB_METHOD_NOARG_P(m) (((m).flags&MRB_METHOD_NOARG_FL)?1:0) #define MRB_METHOD_FUNC(m) ((m).func) #define MRB_METHOD_NOARG_SET(m) do{(m).flags|=MRB_METHOD_NOARG_FL;}while(0) #define MRB_METHOD_FROM_FUNC(m,fn) do{(m).flags=MRB_METHOD_FUNC_FL;(m).func=(fn);}while(0) |
