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:
parent
95e55e9ae4
commit
e8e2415bb3
2
gc.c
2
gc.c
@ -4398,7 +4398,7 @@ is_live_object(rb_objspace_t *objspace, VALUE ptr)
|
||||
static inline int
|
||||
is_markable_object(VALUE obj)
|
||||
{
|
||||
if (rb_special_const_p(obj)) return FALSE; /* special const is not markable */
|
||||
if (RB_SPECIAL_CONST_P(obj)) return FALSE; /* special const is not markable */
|
||||
check_rvalue_consistency(obj);
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -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))) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user