From 12bf73637b960cf0ef463f966554595ff2c37ecd Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 13 May 2013 09:41:48 +0000 Subject: [PATCH] * 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 --- ChangeLog | 8 ++++++++ include/ruby/ruby.h | 3 +++ 2 files changed, 11 insertions(+) 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 + + * 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 * 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;