summaryrefslogtreecommitdiffhomepage
path: root/src/array.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-10-31 23:34:08 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-10-31 23:34:08 +0900
commitaf03812877c914de787e70735eb89084434b21f1 (patch)
treec85caab5e6eb09e7584543753eb2dfa7bd41fa35 /src/array.c
parent0fe744f9192bda774749de7d8426033ae9cfd084 (diff)
downloadmruby-af03812877c914de787e70735eb89084434b21f1.tar.gz
mruby-af03812877c914de787e70735eb89084434b21f1.zip
add mrb_ary_modify(mrb,a); you have to ensure mrb_value a to be an array; ref #1554
Diffstat (limited to 'src/array.c')
-rw-r--r--src/array.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/array.c b/src/array.c
index 526cf4973..705aece07 100644
--- a/src/array.c
+++ b/src/array.c
@@ -138,6 +138,16 @@ ary_modify(mrb_state *mrb, struct RArray *a)
}
}
+void
+mrb_ary_modify(mrb_state *mrb, mrb_value ary)
+{
+ struct RArray *a;
+
+ a = mrb_ary_ptr(ary);
+ mrb_write_barrier(mrb, (struct RBasic*)a);
+ ary_modify(mrb, a);
+}
+
static void
ary_make_shared(mrb_state *mrb, struct RArray *a)
{