Commit 789177c8 authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto

Merge pull request #2719 from suzukaze/delete-temp-variable

Delete temp variable
parents 43881f6b ac131c90
...@@ -621,34 +621,28 @@ mrb_struct_equal(mrb_state *mrb, mrb_value s) ...@@ -621,34 +621,28 @@ mrb_struct_equal(mrb_state *mrb, mrb_value s)
mrb_value s2; mrb_value s2;
mrb_value *ptr, *ptr2; mrb_value *ptr, *ptr2;
mrb_int i, len; mrb_int i, len;
mrb_bool equal_p;
mrb_get_args(mrb, "o", &s2); mrb_get_args(mrb, "o", &s2);
if (mrb_obj_equal(mrb, s, s2)) { if (mrb_obj_equal(mrb, s, s2)) {
equal_p = 1; return mrb_true_value();
} }
else if (!strcmp(mrb_class_name(mrb, mrb_obj_class(mrb, s)), "Struct") || if (!strcmp(mrb_class_name(mrb, mrb_obj_class(mrb, s)), "Struct") ||
mrb_obj_class(mrb, s) != mrb_obj_class(mrb, s2)) { mrb_obj_class(mrb, s) != mrb_obj_class(mrb, s2)) {
equal_p = 0; return mrb_false_value();
} }
else if (RSTRUCT_LEN(s) != RSTRUCT_LEN(s2)) { if (RSTRUCT_LEN(s) != RSTRUCT_LEN(s2)) {
mrb_bug(mrb, "inconsistent struct"); /* should never happen */ mrb_bug(mrb, "inconsistent struct"); /* should never happen */
equal_p = 0; /* This substuture is just to suppress warnings. never called. */
} }
else { ptr = RSTRUCT_PTR(s);
ptr = RSTRUCT_PTR(s); ptr2 = RSTRUCT_PTR(s2);
ptr2 = RSTRUCT_PTR(s2); len = RSTRUCT_LEN(s);
len = RSTRUCT_LEN(s); for (i=0; i<len; i++) {
equal_p = 1; if (!mrb_equal(mrb, ptr[i], ptr2[i])) {
for (i=0; i<len; i++) { return mrb_false_value();
if (!mrb_equal(mrb, ptr[i], ptr2[i])) {
equal_p = 0;
break;
}
} }
} }
return mrb_bool_value(equal_p); return mrb_true_value();
} }
/* 15.2.18.4.12(x) */ /* 15.2.18.4.12(x) */
...@@ -665,34 +659,28 @@ mrb_struct_eql(mrb_state *mrb, mrb_value s) ...@@ -665,34 +659,28 @@ mrb_struct_eql(mrb_state *mrb, mrb_value s)
mrb_value s2; mrb_value s2;
mrb_value *ptr, *ptr2; mrb_value *ptr, *ptr2;
mrb_int i, len; mrb_int i, len;
mrb_bool eql_p;
mrb_get_args(mrb, "o", &s2); mrb_get_args(mrb, "o", &s2);
if (mrb_obj_equal(mrb, s, s2)) { if (mrb_obj_equal(mrb, s, s2)) {
eql_p = 1; return mrb_true_value();
} }
else if (strcmp(mrb_class_name(mrb, mrb_obj_class(mrb, s2)), "Struct") || if (strcmp(mrb_class_name(mrb, mrb_obj_class(mrb, s2)), "Struct") ||
mrb_obj_class(mrb, s) != mrb_obj_class(mrb, s2)) { mrb_obj_class(mrb, s) != mrb_obj_class(mrb, s2)) {
eql_p = 0; return mrb_false_value();
} }
else if (RSTRUCT_LEN(s) != RSTRUCT_LEN(s2)) { if (RSTRUCT_LEN(s) != RSTRUCT_LEN(s2)) {
mrb_bug(mrb, "inconsistent struct"); /* should never happen */ mrb_bug(mrb, "inconsistent struct"); /* should never happen */
eql_p = 0; /* This substuture is just to suppress warnings. never called. */
} }
else { ptr = RSTRUCT_PTR(s);
ptr = RSTRUCT_PTR(s); ptr2 = RSTRUCT_PTR(s2);
ptr2 = RSTRUCT_PTR(s2); len = RSTRUCT_LEN(s);
len = RSTRUCT_LEN(s); for (i=0; i<len; i++) {
eql_p = 1; if (!mrb_eql(mrb, ptr[i], ptr2[i])) {
for (i=0; i<len; i++) { return mrb_false_value();
if (!mrb_eql(mrb, ptr[i], ptr2[i])) {
eql_p = 0;
break;
}
} }
} }
return mrb_bool_value(eql_p); return mrb_true_value();
} }
/* /*
......
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