Merge pull request #788 from masamitsu-murase/modify_range_initialize

Modify range initialize to prevent segmentation fault.
This commit is contained in:
Yukihiro "Matz" Matsumoto
2013-01-29 05:35:15 -08:00
2 changed files with 8 additions and 9 deletions
+1 -1
View File
@@ -43,8 +43,8 @@ mrb_range_new(mrb_state *mrb, mrb_value beg, mrb_value end, int excl)
struct RRange *r;
r = (struct RRange*)mrb_obj_alloc(mrb, MRB_TT_RANGE, RANGE_CLASS);
r->edges = (struct mrb_range_edges *)mrb_malloc(mrb, sizeof(struct mrb_range_edges));
range_check(mrb, beg, end);
r->edges = (struct mrb_range_edges *)mrb_malloc(mrb, sizeof(struct mrb_range_edges));
r->edges->beg = beg;
r->edges->end = end;
r->excl = excl;
+7 -8
View File
@@ -48,14 +48,13 @@ assert('Range#include', '15.2.14.4.8') do
a.include?(5) and not a.include?(20)
end
# TODO SEGFAULT ATM
#assert('Range#initialize', '15.2.14.4.9') do
# a = Range.new(1, 10, true)
# b = Range.new(1, 10, false)
#
# a == (1..10) and a.exclude_end? and b == (1..10) and
# not b.exclude_end?
#end
assert('Range#initialize', '15.2.14.4.9') do
a = Range.new(1, 10, true)
b = Range.new(1, 10, false)
a == (1...10) and a.exclude_end? and b == (1..10) and
not b.exclude_end?
end
assert('Range#last', '15.2.14.4.10') do
(1..10).last == 10