Use RB_SPECIAL_CONST_P instead of rb_special_const_p

rb_special_const_p returns a VALUE (Qtrue or Qfalse), so we shouldn't
assume that Qfalse is 0. We should instead use RB_SPECIAL_CONST_P.
This commit is contained in:
Peter Zhu 2024-02-27 15:09:18 -05:00
parent 95e55e9ae4
commit e8e2415bb3
3 changed files with 3 additions and 3 deletions

View file

@ -1889,7 +1889,7 @@ r_object_for(struct load_arg *arg, bool partial, int *ivp, VALUE extmod, int typ
goto type_hash;
}
v = r_object_for(arg, partial, 0, extmod, type);
if (rb_special_const_p(v) || RB_TYPE_P(v, T_OBJECT) || RB_TYPE_P(v, T_CLASS)) {
if (RB_SPECIAL_CONST_P(v) || RB_TYPE_P(v, T_OBJECT) || RB_TYPE_P(v, T_CLASS)) {
goto format_error;
}
if (RB_TYPE_P(v, T_MODULE) || !RTEST(rb_class_inherited_p(c, RBASIC(v)->klass))) {