From 20d5330417c2b6a74c3fe799f6ac19701448dbf8 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 25 Feb 2025 12:50:34 +0900 Subject: [PATCH] class.c: use MT_VMASK to mask the flag values --- src/class.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/class.c b/src/class.c index 3766d98e4..8f36ab27f 100644 --- a/src/class.c +++ b/src/class.c @@ -803,7 +803,7 @@ define_method_id(mrb_state *mrb, struct RClass *c, mrb_sym mid, mrb_func_t func, MRB_METHOD_NOARG_SET(m); } if (vis) { - m.flags = (m.flags & ~0x3)|(vis & 0x3); + m.flags = (m.flags & ~MT_VMASK)|vis; } mrb_define_method_raw(mrb, c, mid, m); mrb_gc_arena_restore(mrb, ai); @@ -1665,7 +1665,7 @@ mrb_mod_initialize(mrb_state *mrb, mrb_value mod) static void mrb_mod_visibility(mrb_state *mrb, mrb_value mod, int visibility) { - mrb_assert((visibility&0x3)==visibility); + mrb_assert((visibility&MT_VMASK)==visibility); mrb_int argc; mrb_value *argv; struct RClass *c = mrb_class_ptr(mod); @@ -1684,7 +1684,7 @@ mrb_mod_visibility(mrb_state *mrb, mrb_value mod, int visibility) if (ret == 0) { mrb_raisef(mrb, E_NAME_ERROR, "undefined method %n for %C", mid, c); } - mt_put(mrb, h, mid, (ret&0xC)|visibility, ptr); + mt_put(mrb, h, mid, (ret&~MT_VMASK)|visibility, ptr); } } }