Commit 90cd202f authored by Masaki Muranaka's avatar Masaki Muranaka

Use mrb_true_or_false_value() / in mrb_range_eq().

parent afcbd6c8
...@@ -152,25 +152,30 @@ mrb_range_eq(mrb_state *mrb, mrb_value range) ...@@ -152,25 +152,30 @@ mrb_range_eq(mrb_state *mrb, mrb_value range)
struct RRange *rr; struct RRange *rr;
struct RRange *ro; struct RRange *ro;
mrb_value obj; mrb_value obj;
mrb_bool eq_p;
mrb_get_args(mrb, "o", &obj); mrb_get_args(mrb, "o", &obj);
if (mrb_obj_equal(mrb, range, obj)) return mrb_true_value(); if (mrb_obj_equal(mrb, range, obj)) {
eq_p = 1;
/* same class? */ }
if (!mrb_obj_is_instance_of(mrb, obj, mrb_obj_class(mrb, range))) else if (!mrb_obj_is_instance_of(mrb, obj, mrb_obj_class(mrb, range))) { /* same class? */
return mrb_false_value(); eq_p = 0;
}
rr = mrb_range_ptr(range); else {
ro = mrb_range_ptr(obj); rr = mrb_range_ptr(range);
if (!mrb_obj_equal(mrb, rr->edges->beg, ro->edges->beg)) ro = mrb_range_ptr(obj);
return mrb_false_value(); if (!mrb_obj_equal(mrb, rr->edges->beg, ro->edges->beg) ||
if (!mrb_obj_equal(mrb, rr->edges->end, ro->edges->end)) !mrb_obj_equal(mrb, rr->edges->end, ro->edges->end) ||
return mrb_false_value(); rr->excl != ro->excl) {
if (rr->excl != ro->excl) eq_p = 0;
return mrb_false_value(); }
else {
eq_p = 1;
}
}
return mrb_true_value(); return mrb_true_or_false_value(eq_p);
} }
static int static int
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment