Add ary_modify to prevent corrupting shared array.

This commit is contained in:
Masamitsu MURASE
2012-07-09 01:10:05 +09:00
parent 158e1e6fce
commit b9215a01f9
+2
View File
@@ -739,6 +739,7 @@ mrb_ary_delete_at(mrb_state *mrb, mrb_value self)
if (index < 0) index += a->len;
if (index < 0 || a->len <= (int)index) return mrb_nil_value();
ary_modify(mrb, a);
val = a->ptr[index];
ptr = a->ptr + index;
@@ -850,6 +851,7 @@ mrb_ary_clear(mrb_state *mrb, mrb_value self)
struct RArray *a = mrb_ary_ptr(self);
a->len = 0;
ary_modify(mrb, a);
ary_shrink_capa(mrb, a);
return self;