summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-13 09:41:48 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-13 09:41:48 +0000
commit12bf73637b960cf0ef463f966554595ff2c37ecd (patch)
tree9923c2e5b3189ee5a4ce415714779c5d393ab988
parentc8fc37a99c7d04937c586fe6aad9b4cf421219e1 (diff)
* 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]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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 50058a4..9bf8180 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 1838a39..e860336 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;