summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--include/ruby/ruby.h3
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 50058a48d5..9bf818061d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Mon May 13 16:53:53 2013 Koichi Sasada <ko1@atdot.net>
+
+ * include/ruby/ruby.h: add new utility macros to access
+ Array's element.
+ * RARRAY_AREF(a, i) returns i-th element of an array `a'
+ * RARRAY_ASET(a, i, v) set i-th element of `a' to `v'
+ This change is a part of RGENGC branch [ruby-trunk - Feature #8339].
+
Mon May 13 15:31:10 2013 Koichi Sasada <ko1@atdot.net>
* object.c (rb_obj_setup): added.
diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h
index 1838a399af..e860336021 100644
--- a/include/ruby/ruby.h
+++ b/include/ruby/ruby.h
@@ -892,6 +892,9 @@ struct RArray {
RARRAY(a)->as.heap.ptr)
#define RARRAY_LENINT(ary) rb_long2int(RARRAY_LEN(ary))
+#define RARRAY_AREF(a, i) (RARRAY_PTR(a)[i])
+#define RARRAY_ASET(a, i, v) do {RARRAY_PTR(a)[i] = (v);} while (0)
+
struct RRegexp {
struct RBasic basic;
struct re_pattern_buffer *ptr;