summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--ext/bigdecimal/bigdecimal.c4
-rw-r--r--ext/date/date_core.c40
-rw-r--r--ext/dbm/dbm.c2
-rw-r--r--ext/fiddle/closure.c4
-rw-r--r--ext/fiddle/function.c4
-rw-r--r--ext/gdbm/gdbm.c2
-rw-r--r--ext/openssl/ossl_ocsp.c4
-rw-r--r--ext/openssl/ossl_ssl.c2
-rw-r--r--ext/openssl/ossl_x509cert.c4
-rw-r--r--ext/openssl/ossl_x509crl.c8
-rw-r--r--ext/openssl/ossl_x509req.c4
-rw-r--r--ext/openssl/ossl_x509revoked.c4
-rw-r--r--ext/psych/psych_emitter.c6
-rw-r--r--ext/readline/readline.c2
-rw-r--r--ext/sdbm/init.c2
-rw-r--r--ext/socket/ancdata.c2
-rw-r--r--ext/socket/socket.c14
-rw-r--r--ext/tk/tcltklib.c14
-rw-r--r--ext/tk/tkutil/tkutil.c52
20 files changed, 93 insertions, 87 deletions
diff --git a/ChangeLog b/ChangeLog
index 55160bdf89..93a222b538 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Nov 5 10:09:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/**/*.c: prefer RARRAY_AREF to indexing RARRAY_CONST_PTR.
+ pointed out by hanmac.
+ https://github.com/ruby/ruby/commit/3553a86#commitcomment-14187670
+
Wed Nov 4 17:33:24 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* lib/debug.rb: Add documentation for #thread_list_all.
diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c
index 63236a01d5..4d54642f48 100644
--- a/ext/bigdecimal/bigdecimal.c
+++ b/ext/bigdecimal/bigdecimal.c
@@ -699,7 +699,7 @@ BigDecimal_to_i(VALUE self)
}
else {
VALUE a = BigDecimal_split(self);
- VALUE digits = RARRAY_CONST_PTR(a)[1];
+ VALUE digits = RARRAY_AREF(a, 1);
VALUE numerator = rb_funcall(digits, rb_intern("to_i"), 0);
VALUE ret;
ssize_t dpower = e - (ssize_t)RSTRING_LEN(digits);
@@ -788,7 +788,7 @@ BigDecimal_to_r(VALUE self)
sign = VpGetSign(p);
power = VpExponent10(p);
a = BigDecimal_split(self);
- digits = RARRAY_CONST_PTR(a)[1];
+ digits = RARRAY_AREF(a, 1);
denomi_power = power - RSTRING_LEN(digits);
numerator = rb_funcall(digits, rb_intern("to_i"), 0);
diff --git a/ext/date/date_core.c b/ext/date/date_core.c
index 642a0e4398..4538c8b270 100644
--- a/ext/date/date_core.c
+++ b/ext/date/date_core.c
@@ -3826,14 +3826,14 @@ rt_complete_frags(VALUE klass, VALUE hash)
for (i = 0; i < RARRAY_LEN(tab); i++) {
VALUE x, a;
- x = RARRAY_CONST_PTR(tab)[i];
- a = RARRAY_CONST_PTR(x)[1];
+ x = RARRAY_AREF(tab, i);
+ a = RARRAY_AREF(x, 1);
{
long j, n = 0;
for (j = 0; j < RARRAY_LEN(a); j++)
- if (!NIL_P(ref_hash0(RARRAY_CONST_PTR(a)[j])))
+ if (!NIL_P(ref_hash0(RARRAY_AREF(a, j))))
n++;
if (n > eno) {
eno = n;
@@ -3845,8 +3845,8 @@ rt_complete_frags(VALUE klass, VALUE hash)
g = 0;
else {
g = 1;
- k = RARRAY_CONST_PTR(RARRAY_CONST_PTR(tab)[idx])[0];
- a = RARRAY_CONST_PTR(RARRAY_CONST_PTR(tab)[idx])[1];
+ k = RARRAY_AREF(RARRAY_AREF(tab, idx), 0);
+ a = RARRAY_AREF(RARRAY_AREF(tab, idx), 1);
e = eno;
}
}
@@ -3867,7 +3867,7 @@ rt_complete_frags(VALUE klass, VALUE hash)
long i;
for (i = 0; i < RARRAY_LEN(a); i++) {
- VALUE e = RARRAY_CONST_PTR(a)[i];
+ VALUE e = RARRAY_AREF(a, i);
if (!NIL_P(ref_hash0(e)))
break;
@@ -3884,7 +3884,7 @@ rt_complete_frags(VALUE klass, VALUE hash)
long i;
for (i = 0; i < RARRAY_LEN(a); i++) {
- VALUE e = RARRAY_CONST_PTR(a)[i];
+ VALUE e = RARRAY_AREF(a, i);
if (!NIL_P(ref_hash0(e)))
break;
@@ -3908,7 +3908,7 @@ rt_complete_frags(VALUE klass, VALUE hash)
long i;
for (i = 0; i < RARRAY_LEN(a); i++) {
- VALUE e = RARRAY_CONST_PTR(a)[i];
+ VALUE e = RARRAY_AREF(a, i);
if (!NIL_P(ref_hash0(e)))
break;
@@ -3925,7 +3925,7 @@ rt_complete_frags(VALUE klass, VALUE hash)
long i;
for (i = 0; i < RARRAY_LEN(a); i++) {
- VALUE e = RARRAY_CONST_PTR(a)[i];
+ VALUE e = RARRAY_AREF(a, i);
if (!NIL_P(ref_hash0(e)))
break;
@@ -7085,16 +7085,16 @@ d_lite_marshal_load(VALUE self, VALUE a)
if (RARRAY_LEN(a) == 2) {
- ajd = f_sub(RARRAY_CONST_PTR(a)[0], half_days_in_day);
+ ajd = f_sub(RARRAY_AREF(a, 0), half_days_in_day);
of = INT2FIX(0);
- sg = RARRAY_CONST_PTR(a)[1];
+ sg = RARRAY_AREF(a, 1);
if (!k_numeric_p(sg))
sg = DBL2NUM(RTEST(sg) ? GREGORIAN : JULIAN);
}
else {
- ajd = RARRAY_CONST_PTR(a)[0];
- of = RARRAY_CONST_PTR(a)[1];
- sg = RARRAY_CONST_PTR(a)[2];
+ ajd = RARRAY_AREF(a, 0);
+ of = RARRAY_AREF(a, 1);
+ sg = RARRAY_AREF(a, 2);
}
old_to_new(ajd, of, sg,
@@ -7119,12 +7119,12 @@ d_lite_marshal_load(VALUE self, VALUE a)
int jd, df, of;
double sg;
- nth = RARRAY_CONST_PTR(a)[0];
- jd = NUM2INT(RARRAY_CONST_PTR(a)[1]);
- df = NUM2INT(RARRAY_CONST_PTR(a)[2]);
- sf = RARRAY_CONST_PTR(a)[3];
- of = NUM2INT(RARRAY_CONST_PTR(a)[4]);
- sg = NUM2DBL(RARRAY_CONST_PTR(a)[5]);
+ nth = RARRAY_AREF(a, 0);
+ jd = NUM2INT(RARRAY_AREF(a, 1));
+ df = NUM2INT(RARRAY_AREF(a, 2));
+ sf = RARRAY_AREF(a, 3);
+ of = NUM2INT(RARRAY_AREF(a, 4));
+ sg = NUM2DBL(RARRAY_AREF(a, 5));
if (!df && f_zero_p(sf) && !of) {
set_to_simple(self, &dat->s, nth, jd, sg, 0, 0, 0, HAVE_JD);
} else {
diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c
index 9202b9c2a8..7f9d96e3fd 100644
--- a/ext/dbm/dbm.c
+++ b/ext/dbm/dbm.c
@@ -528,7 +528,7 @@ fdbm_delete_if(VALUE obj)
}
for (i = 0; i < RARRAY_LEN(ary); i++) {
- keystr = RARRAY_CONST_PTR(ary)[i];
+ keystr = RARRAY_AREF(ary, i);
key.dptr = RSTRING_PTR(keystr);
key.dsize = (DSIZE_TYPE)RSTRING_LEN(keystr);
if (dbm_delete(dbm, key)) {
diff --git a/ext/fiddle/closure.c b/ext/fiddle/closure.c
index 502f47f037..5d8a3d200f 100644
--- a/ext/fiddle/closure.c
+++ b/ext/fiddle/closure.c
@@ -70,7 +70,7 @@ callback(ffi_cif *cif, void *resp, void **args, void *ctx)
cPointer = rb_const_get(mFiddle, rb_intern("Pointer"));
for (i = 0; i < argc; i++) {
- type = NUM2INT(RARRAY_CONST_PTR(rbargs)[i]);
+ type = NUM2INT(RARRAY_AREF(rbargs, i));
switch (type) {
case TYPE_VOID:
argc = 0;
@@ -210,7 +210,7 @@ initialize(int rbargc, VALUE argv[], VALUE self)
cl->argv = (ffi_type **)xcalloc(argc + 1, sizeof(ffi_type *));
for (i = 0; i < argc; i++) {
- int type = NUM2INT(RARRAY_CONST_PTR(args)[i]);
+ int type = NUM2INT(RARRAY_AREF(args, i));
cl->argv[i] = INT2FFI_TYPE(type);
}
cl->argv[argc] = NULL;
diff --git a/ext/fiddle/function.c b/ext/fiddle/function.c
index 9db29e8bd6..209c03f71e 100644
--- a/ext/fiddle/function.c
+++ b/ext/fiddle/function.c
@@ -110,7 +110,7 @@ initialize(int argc, VALUE argv[], VALUE self)
arg_types = xcalloc(RARRAY_LEN(args) + 1, sizeof(ffi_type *));
for (i = 0; i < RARRAY_LEN(args); i++) {
- int type = NUM2INT(RARRAY_CONST_PTR(args)[i]);
+ int type = NUM2INT(RARRAY_AREF(args, i));
arg_types[i] = INT2FFI_TYPE(type);
}
arg_types[RARRAY_LEN(args)] = NULL;
@@ -164,7 +164,7 @@ function_call(int argc, VALUE argv[], VALUE self)
values = (void **)((char *)generic_args + (size_t)argc * sizeof(fiddle_generic));
for (i = 0; i < argc; i++) {
- VALUE type = RARRAY_CONST_PTR(types)[i];
+ VALUE type = RARRAY_AREF(types, i);
VALUE src = argv[i];
if(NUM2INT(type) == TYPE_VOIDP) {
diff --git a/ext/gdbm/gdbm.c b/ext/gdbm/gdbm.c
index 445facc4fd..709f466cd8 100644
--- a/ext/gdbm/gdbm.c
+++ b/ext/gdbm/gdbm.c
@@ -634,7 +634,7 @@ fgdbm_delete_if(VALUE obj)
}
for (i = 0; i < RARRAY_LEN(ary); i++)
- rb_gdbm_delete(obj, RARRAY_CONST_PTR(ary)[i]);
+ rb_gdbm_delete(obj, RARRAY_AREF(ary, i));
if (status) rb_jump_tag(status);
if (n > 0) dbmp->di_size = n - (int)RARRAY_LEN(ary);
rb_ary_clear(ary);
diff --git a/ext/openssl/ossl_ocsp.c b/ext/openssl/ossl_ocsp.c
index 197fcc9d47..02b67429e6 100644
--- a/ext/openssl/ossl_ocsp.c
+++ b/ext/openssl/ossl_ocsp.c
@@ -682,7 +682,7 @@ ossl_ocspbres_add_status(VALUE self, VALUE cid, VALUE status,
/* All ary's members should be X509Extension */
Check_Type(ext, T_ARRAY);
for (i = 0; i < RARRAY_LEN(ext); i++)
- OSSL_Check_Kind(RARRAY_CONST_PTR(ext)[i], cX509Ext);
+ OSSL_Check_Kind(RARRAY_AREF(ext, i), cX509Ext);
}
error = 0;
@@ -711,7 +711,7 @@ ossl_ocspbres_add_status(VALUE self, VALUE cid, VALUE status,
sk_X509_EXTENSION_pop_free(single->singleExtensions, X509_EXTENSION_free);
single->singleExtensions = NULL;
for(i = 0; i < RARRAY_LEN(ext); i++){
- x509ext = DupX509ExtPtr(RARRAY_CONST_PTR(ext)[i]);
+ x509ext = DupX509ExtPtr(RARRAY_AREF(ext, i));
if(!OCSP_SINGLERESP_add_ext(single, x509ext, -1)){
X509_EXTENSION_free(x509ext);
error = 1;
diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
index a5c415fa1d..8d057b79fa 100644
--- a/ext/openssl/ossl_ssl.c
+++ b/ext/openssl/ossl_ssl.c
@@ -759,7 +759,7 @@ ossl_sslctx_setup(VALUE self)
if(!NIL_P(val)){
if (RB_TYPE_P(val, T_ARRAY)) {
for(i = 0; i < RARRAY_LEN(val); i++){
- client_ca = GetX509CertPtr(RARRAY_CONST_PTR(val)[i]);
+ client_ca = GetX509CertPtr(RARRAY_AREF(val, i));
if (!SSL_CTX_add_client_CA(ctx, client_ca)){
/* Copies X509_NAME => FREE it. */
ossl_raise(eSSLError, "SSL_CTX_add_client_CA");
diff --git a/ext/openssl/ossl_x509cert.c b/ext/openssl/ossl_x509cert.c
index 97db4b2b1d..4dafae17b9 100644
--- a/ext/openssl/ossl_x509cert.c
+++ b/ext/openssl/ossl_x509cert.c
@@ -668,13 +668,13 @@ ossl_x509_set_extensions(VALUE self, VALUE ary)
Check_Type(ary, T_ARRAY);
/* All ary's members should be X509Extension */
for (i=0; i<RARRAY_LEN(ary); i++) {
- OSSL_Check_Kind(RARRAY_CONST_PTR(ary)[i], cX509Ext);
+ OSSL_Check_Kind(RARRAY_AREF(ary, i), cX509Ext);
}
GetX509(self, x509);
sk_X509_EXTENSION_pop_free(x509->cert_info->extensions, X509_EXTENSION_free);
x509->cert_info->extensions = NULL;
for (i=0; i<RARRAY_LEN(ary); i++) {
- ext = DupX509ExtPtr(RARRAY_CONST_PTR(ary)[i]);
+ ext = DupX509ExtPtr(RARRAY_AREF(ary, i));
if (!X509_add_ext(x509, ext, -1)) { /* DUPs ext - FREE it */
X509_EXTENSION_free(ext);
diff --git a/ext/openssl/ossl_x509crl.c b/ext/openssl/ossl_x509crl.c
index e699db96c8..f64712efcd 100644
--- a/ext/openssl/ossl_x509crl.c
+++ b/ext/openssl/ossl_x509crl.c
@@ -307,13 +307,13 @@ ossl_x509crl_set_revoked(VALUE self, VALUE ary)
Check_Type(ary, T_ARRAY);
/* All ary members should be X509 Revoked */
for (i=0; i<RARRAY_LEN(ary); i++) {
- OSSL_Check_Kind(RARRAY_CONST_PTR(ary)[i], cX509Rev);
+ OSSL_Check_Kind(RARRAY_AREF(ary, i), cX509Rev);
}
GetX509CRL(self, crl);
sk_X509_REVOKED_pop_free(crl->crl->revoked, X509_REVOKED_free);
crl->crl->revoked = NULL;
for (i=0; i<RARRAY_LEN(ary); i++) {
- rev = DupX509RevokedPtr(RARRAY_CONST_PTR(ary)[i]);
+ rev = DupX509RevokedPtr(RARRAY_AREF(ary, i));
if (!X509_CRL_add0_revoked(crl, rev)) { /* NO DUP - don't free! */
ossl_raise(eX509CRLError, NULL);
}
@@ -481,13 +481,13 @@ ossl_x509crl_set_extensions(VALUE self, VALUE ary)
Check_Type(ary, T_ARRAY);
/* All ary members should be X509 Extensions */
for (i=0; i<RARRAY_LEN(ary); i++) {
- OSSL_Check_Kind(RARRAY_CONST_PTR(ary)[i], cX509Ext);
+ OSSL_Check_Kind(RARRAY_AREF(ary, i), cX509Ext);
}
GetX509CRL(self, crl);
sk_X509_EXTENSION_pop_free(crl->crl->extensions, X509_EXTENSION_free);
crl->crl->extensions = NULL;
for (i=0; i<RARRAY_LEN(ary); i++) {
- ext = DupX509ExtPtr(RARRAY_CONST_PTR(ary)[i]);
+ ext = DupX509ExtPtr(RARRAY_AREF(ary, i));
if(!X509_CRL_add_ext(crl, ext, -1)) { /* DUPs ext - FREE it */
X509_EXTENSION_free(ext);
ossl_raise(eX509CRLError, NULL);
diff --git a/ext/openssl/ossl_x509req.c b/ext/openssl/ossl_x509req.c
index d7d4d32886..e5ce088a15 100644
--- a/ext/openssl/ossl_x509req.c
+++ b/ext/openssl/ossl_x509req.c
@@ -423,13 +423,13 @@ ossl_x509req_set_attributes(VALUE self, VALUE ary)
Check_Type(ary, T_ARRAY);
for (i=0;i<RARRAY_LEN(ary); i++) {
- OSSL_Check_Kind(RARRAY_CONST_PTR(ary)[i], cX509Attr);
+ OSSL_Check_Kind(RARRAY_AREF(ary, i), cX509Attr);
}
GetX509Req(self, req);
sk_X509_ATTRIBUTE_pop_free(req->req_info->attributes, X509_ATTRIBUTE_free);
req->req_info->attributes = NULL;
for (i=0;i<RARRAY_LEN(ary); i++) {
- item = RARRAY_CONST_PTR(ary)[i];
+ item = RARRAY_AREF(ary, i);
attr = DupX509AttrPtr(item);
if (!X509_REQ_add1_attr(req, attr)) {
ossl_raise(eX509ReqError, NULL);
diff --git a/ext/openssl/ossl_x509revoked.c b/ext/openssl/ossl_x509revoked.c
index d21f71a469..46250e1225 100644
--- a/ext/openssl/ossl_x509revoked.c
+++ b/ext/openssl/ossl_x509revoked.c
@@ -193,13 +193,13 @@ ossl_x509revoked_set_extensions(VALUE self, VALUE ary)
Check_Type(ary, T_ARRAY);
for (i=0; i<RARRAY_LEN(ary); i++) {
- OSSL_Check_Kind(RARRAY_CONST_PTR(ary)[i], cX509Ext);
+ OSSL_Check_Kind(RARRAY_AREF(ary, i), cX509Ext);
}
GetX509Rev(self, rev);
sk_X509_EXTENSION_pop_free(rev->extensions, X509_EXTENSION_free);
rev->extensions = NULL;
for (i=0; i<RARRAY_LEN(ary); i++) {
- item = RARRAY_CONST_PTR(ary)[i];
+ item = RARRAY_AREF(ary, i);
ext = DupX509ExtPtr(item);
if(!X509_REVOKED_add_ext(rev, ext, -1)) {
ossl_raise(eX509RevError, NULL);
diff --git a/ext/psych/psych_emitter.c b/ext/psych/psych_emitter.c
index c4f59d1ee9..67f54f19d6 100644
--- a/ext/psych/psych_emitter.c
+++ b/ext/psych/psych_emitter.c
@@ -170,7 +170,7 @@ static VALUE start_document(VALUE self, VALUE version, VALUE tags, VALUE imp)
tail = head;
for(i = 0; i < RARRAY_LEN(tags); i++) {
- VALUE tuple = RARRAY_CONST_PTR(tags)[i];
+ VALUE tuple = RARRAY_AREF(tags, i);
VALUE name;
VALUE value;
@@ -180,8 +180,8 @@ static VALUE start_document(VALUE self, VALUE version, VALUE tags, VALUE imp)
xfree(head);
rb_raise(rb_eRuntimeError, "tag tuple must be of length 2");
}
- name = RARRAY_CONST_PTR(tuple)[0];
- value = RARRAY_CONST_PTR(tuple)[1];
+ name = RARRAY_AREF(tuple, 0);
+ value = RARRAY_AREF(tuple, 1);
#ifdef HAVE_RUBY_ENCODING_H
name = rb_str_export_to_enc(name, encoding);
value = rb_str_export_to_enc(value, encoding);
diff --git a/ext/readline/readline.c b/ext/readline/readline.c
index 6aa9177892..c3b98a8dc9 100644
--- a/ext/readline/readline.c
+++ b/ext/readline/readline.c
@@ -963,7 +963,7 @@ readline_attempted_completion_function(const char *text, int start, int end)
enc = rb_locale_encoding();
encobj = rb_enc_from_encoding(enc);
for (i = 0; i < matches; i++) {
- temp = rb_obj_as_string(RARRAY_CONST_PTR(ary)[i]);
+ temp = rb_obj_as_string(RARRAY_AREF(ary, i));
StringValueCStr(temp); /* must be NUL-terminated */
rb_enc_check(encobj, temp);
result[i + 1] = (char*)malloc(RSTRING_LEN(temp) + 1);
diff --git a/ext/sdbm/init.c b/ext/sdbm/init.c
index aecbeced32..c984152382 100644
--- a/ext/sdbm/init.c
+++ b/ext/sdbm/init.c
@@ -530,7 +530,7 @@ fsdbm_delete_if(VALUE obj)
}
for (i = 0; i < RARRAY_LEN(ary); i++) {
- keystr = RARRAY_CONST_PTR(ary)[i];
+ keystr = RARRAY_AREF(ary, i);
ExportStringValue(keystr);
key.dptr = RSTRING_PTR(keystr);
key.dsize = RSTRING_LENINT(keystr);
diff --git a/ext/socket/ancdata.c b/ext/socket/ancdata.c
index ed242db89d..afa75ef472 100644
--- a/ext/socket/ancdata.c
+++ b/ext/socket/ancdata.c
@@ -207,7 +207,7 @@ ancillary_s_unix_rights(int argc, VALUE *argv, VALUE klass)
str = rb_str_buf_new(sizeof(int) * argc);
for (i = 0 ; i < argc; i++) {
- VALUE obj = RARRAY_CONST_PTR(ary)[i];
+ VALUE obj = RARRAY_AREF(ary, i);
rb_io_t *fptr;
int fd;
GetOpenFile(obj, fptr);
diff --git a/ext/socket/socket.c b/ext/socket/socket.c
index 30bc625c9f..8a3541ac30 100644
--- a/ext/socket/socket.c
+++ b/ext/socket/socket.c
@@ -1406,16 +1406,16 @@ sock_s_getnameinfo(int argc, VALUE *argv)
sa = tmp;
MEMZERO(&hints, struct addrinfo, 1);
if (RARRAY_LEN(sa) == 3) {
- af = RARRAY_CONST_PTR(sa)[0];
- port = RARRAY_CONST_PTR(sa)[1];
- host = RARRAY_CONST_PTR(sa)[2];
+ af = RARRAY_AREF(sa, 0);
+ port = RARRAY_AREF(sa, 1);
+ host = RARRAY_AREF(sa, 2);
}
else if (RARRAY_LEN(sa) >= 4) {
- af = RARRAY_CONST_PTR(sa)[0];
- port = RARRAY_CONST_PTR(sa)[1];
- host = RARRAY_CONST_PTR(sa)[3];
+ af = RARRAY_AREF(sa, 0);
+ port = RARRAY_AREF(sa, 1);
+ host = RARRAY_AREF(sa, 3);
if (NIL_P(host)) {
- host = RARRAY_CONST_PTR(sa)[2];
+ host = RARRAY_AREF(sa, 2);
}
else {
/*
diff --git a/ext/tk/tcltklib.c b/ext/tk/tcltklib.c
index fed21d3709..c99bcb5e3d 100644
--- a/ext/tk/tcltklib.c
+++ b/ext/tk/tcltklib.c
@@ -1892,15 +1892,15 @@ set_max_block_time(self, time)
case T_BIGNUM:
/* time is micro-second value */
divmod = rb_funcall(time, rb_intern("divmod"), 1, LONG2NUM(1000000));
- tcl_time.sec = NUM2LONG(RARRAY_CONST_PTR(divmod)[0]);
- tcl_time.usec = NUM2LONG(RARRAY_CONST_PTR(divmod)[1]);
+ tcl_time.sec = NUM2LONG(RARRAY_AREF(divmod, 0));
+ tcl_time.usec = NUM2LONG(RARRAY_AREF(divmod, 1));
break;
case T_FLOAT:
/* time is second value */
divmod = rb_funcall(time, rb_intern("divmod"), 1, INT2FIX(1));
- tcl_time.sec = NUM2LONG(RARRAY_CONST_PTR(divmod)[0]);
- tcl_time.usec = (long)(NUM2DBL(RARRAY_CONST_PTR(divmod)[1]) * 1000000);
+ tcl_time.sec = NUM2LONG(RARRAY_AREF(divmod, 0));
+ tcl_time.usec = (long)(NUM2DBL(RARRAY_AREF(divmod, 1)) * 1000000);
default:
{
@@ -7213,7 +7213,7 @@ tk_funcall(func, argc, argv, obj)
DUMP2("back from handler (current thread:%"PRIxVALUE")", current);
/* get result & free allocated memory */
- ret = RARRAY_CONST_PTR(result)[0];
+ ret = RARRAY_AREF(result, 0);
#if 0 /* use Tcl_EventuallyFree */
Tcl_EventuallyFree((ClientData)alloc_done, TCL_DYNAMIC); /* XXXXXXXX */
#else
@@ -7697,7 +7697,7 @@ ip_eval(self, str)
DUMP2("back from handler (current thread:%"PRIxVALUE")", current);
/* get result & free allocated memory */
- ret = RARRAY_CONST_PTR(result)[0];
+ ret = RARRAY_AREF(result, 0);
#if 0 /* use Tcl_EventuallyFree */
Tcl_EventuallyFree((ClientData)alloc_done, TCL_DYNAMIC); /* XXXXXXXX */
@@ -9196,7 +9196,7 @@ ip_invoke_with_position(argc, argv, obj, position)
DUMP2("back from handler (current thread:%"PRIxVALUE")", current);
/* get result & free allocated memory */
- ret = RARRAY_CONST_PTR(result)[0];
+ ret = RARRAY_AREF(result, 0);
#if 0 /* use Tcl_EventuallyFree */
Tcl_EventuallyFree((ClientData)alloc_done, TCL_DYNAMIC); /* XXXXXXXX */
#else
diff --git a/ext/tk/tkutil/tkutil.c b/ext/tk/tkutil/tkutil.c
index f18fadfc7f..f6f0af1cd7 100644
--- a/ext/tk/tkutil/tkutil.c
+++ b/ext/tk/tkutil/tkutil.c
@@ -371,8 +371,8 @@ ary2list(ary, enc_flag, self)
/* size = RARRAY_LEN(ary); */
size = 0;
for(idx = 0; idx < RARRAY_LEN(ary); idx++) {
- if (RB_TYPE_P(RARRAY_CONST_PTR(ary)[idx], T_HASH)) {
- size += 2 * RHASH_SIZE(RARRAY_CONST_PTR(ary)[idx]);
+ if (RB_TYPE_P(RARRAY_AREF(ary, idx), T_HASH)) {
+ size += 2 * RHASH_SIZE(RARRAY_AREF(ary, idx));
} else {
size++;
}
@@ -380,7 +380,7 @@ ary2list(ary, enc_flag, self)
dst = rb_ary_new2(size);
for(idx = 0; idx < RARRAY_LEN(ary); idx++) {
- val = RARRAY_CONST_PTR(ary)[idx];
+ val = RARRAY_AREF(ary, idx);
str_val = Qnil;
switch(TYPE(val)) {
case T_ARRAY:
@@ -411,7 +411,7 @@ ary2list(ary, enc_flag, self)
}
size2 = RARRAY_LEN(val);
for(idx2 = 0; idx2 < size2; idx2++) {
- val2 = RARRAY_CONST_PTR(val)[idx2];
+ val2 = RARRAY_AREF(val, idx2);
switch(TYPE(val2)) {
case T_ARRAY:
str_val = ary2list(val2, enc_flag, self);
@@ -472,7 +472,7 @@ ary2list(ary, enc_flag, self)
if (RTEST(dst_enc) && !NIL_P(sys_enc)) {
for(idx = 0; idx < RARRAY_LEN(dst); idx++) {
- str_val = RARRAY_CONST_PTR(dst)[idx];
+ str_val = RARRAY_AREF(dst, idx);
if (rb_obj_respond_to(self, ID_toUTF8, Qtrue)) {
str_val = rb_funcall(self, ID_toUTF8, 1, str_val);
} else {
@@ -525,7 +525,7 @@ ary2list2(ary, enc_flag, self)
size = RARRAY_LEN(ary);
dst = rb_ary_new2(size);
for(idx = 0; idx < RARRAY_LEN(ary); idx++) {
- val = RARRAY_CONST_PTR(ary)[idx];
+ val = RARRAY_AREF(ary, idx);
str_val = Qnil;
switch(TYPE(val)) {
case T_ARRAY:
@@ -566,7 +566,7 @@ ary2list2(ary, enc_flag, self)
if (RTEST(dst_enc) && !NIL_P(sys_enc)) {
for(idx = 0; idx < RARRAY_LEN(dst); idx++) {
- str_val = RARRAY_CONST_PTR(dst)[idx];
+ str_val = RARRAY_AREF(dst, idx);
if (rb_obj_respond_to(self, ID_toUTF8, Qtrue)) {
str_val = rb_funcall(self, ID_toUTF8, 1, str_val);
} else {
@@ -608,23 +608,23 @@ assoc2kv(assoc, ary, self)
len = RARRAY_LEN(assoc);
for(i = 0; i < len; i++) {
- pair = RARRAY_CONST_PTR(assoc)[i];
+ pair = RARRAY_AREF(assoc, i);
if (!RB_TYPE_P(pair, T_ARRAY)) {
rb_ary_push(dst, key2keyname(pair));
continue;
}
switch(RARRAY_LEN(assoc)) {
case 2:
- rb_ary_push(dst, RARRAY_CONST_PTR(pair)[2]);
+ rb_ary_push(dst, RARRAY_AREF(pair, 2));
case 1:
- rb_ary_push(dst, key2keyname(RARRAY_CONST_PTR(pair)[0]));
+ rb_ary_push(dst, key2keyname(RARRAY_AREF(pair, 0)));
case 0:
continue;
default:
- rb_ary_push(dst, key2keyname(RARRAY_CONST_PTR(pair)[0]));
+ rb_ary_push(dst, key2keyname(RARRAY_AREF(pair, 0)));
val = rb_ary_new2(RARRAY_LEN(pair) - 1);
rb_ary_cat(val, RARRAY_CONST_PTR(pair) + 1, RARRAY_LEN(pair) - 1);
@@ -654,23 +654,23 @@ assoc2kv_enc(assoc, ary, self)
len = RARRAY_LEN(assoc);
for(i = 0; i < len; i++) {
- pair = RARRAY_CONST_PTR(assoc)[i];
+ pair = RARRAY_AREF(assoc, i);
if (!RB_TYPE_P(pair, T_ARRAY)) {
rb_ary_push(dst, key2keyname(pair));
continue;
}
switch(RARRAY_LEN(assoc)) {
case 2:
- rb_ary_push(dst, get_eval_string_core(RARRAY_CONST_PTR(pair)[2], Qtrue, self));
+ rb_ary_push(dst, get_eval_string_core(RARRAY_AREF(pair, 2), Qtrue, self));
case 1:
- rb_ary_push(dst, key2keyname(RARRAY_CONST_PTR(pair)[0]));
+ rb_ary_push(dst, key2keyname(RARRAY_AREF(pair, 0)));
case 0:
continue;
default:
- rb_ary_push(dst, key2keyname(RARRAY_CONST_PTR(pair)[0]));
+ rb_ary_push(dst, key2keyname(RARRAY_AREF(pair, 0)));
val = rb_ary_new2(RARRAY_LEN(pair) - 1);
rb_ary_cat(val, RARRAY_CONST_PTR(pair) + 1, RARRAY_LEN(pair) - 1);
@@ -694,7 +694,7 @@ push_kv(key, val, args)
{
volatile VALUE ary;
- ary = RARRAY_CONST_PTR(args)[0];
+ ary = RARRAY_AREF(args, 0);
#if 0
rb_ary_push(ary, key2keyname(key));
@@ -704,7 +704,7 @@ push_kv(key, val, args)
if (val == TK_None) return ST_CHECK;
- rb_ary_push(ary, get_eval_string_core(val, Qnil, RARRAY_CONST_PTR(args)[1]));
+ rb_ary_push(ary, get_eval_string_core(val, Qnil, RARRAY_AREF(args, 1)));
return ST_CHECK;
}
@@ -735,20 +735,20 @@ push_kv_enc(key, val, args)
{
volatile VALUE ary;
- ary = RARRAY_CONST_PTR(args)[0];
+ ary = RARRAY_AREF(args, 0);
#if 0
rb_ary_push(ary, key2keyname(key));
if (val != TK_None) {
rb_ary_push(ary, get_eval_string_core(val, Qtrue,
- RARRAY_CONST_PTR(args)[1]));
+ RARRAY_AREF(args, 1)));
}
#endif
rb_ary_push(ary, key2keyname(key));
if (val == TK_None) return ST_CHECK;
- rb_ary_push(ary, get_eval_string_core(val, Qtrue, RARRAY_CONST_PTR(args)[1]));
+ rb_ary_push(ary, get_eval_string_core(val, Qtrue, RARRAY_AREF(args, 1)));
return ST_CHECK;
}
@@ -1494,7 +1494,7 @@ cbsubst_get_subst_key(self, str)
ptr = buf = RSTRING_PTR(ret);
for(i = 0; i < len; i++) {
- VALUE keyval = RARRAY_CONST_PTR(list)[i];
+ VALUE keyval = RARRAY_AREF(list, i);
const char *key = (Check_Type(keyval, T_STRING), StringValueCStr(keyval));
if (*key == '%') {
if (*(key + 2) == '\0') {
@@ -1593,7 +1593,7 @@ cbsubst_table_setup(argc, argv, self)
*/
len = RARRAY_LEN(key_inf);
for(idx = 0; idx < len; idx++) {
- inf = RARRAY_CONST_PTR(key_inf)[idx];
+ inf = RARRAY_AREF(key_inf, idx);
if (!RB_TYPE_P(inf, T_ARRAY)) continue;
infp = RARRAY_CONST_PTR(inf);
@@ -1617,7 +1617,7 @@ cbsubst_table_setup(argc, argv, self)
*/
len = RARRAY_LEN(longkey_inf);
for(idx = 0; idx < len; idx++) {
- inf = RARRAY_CONST_PTR(longkey_inf)[idx];
+ inf = RARRAY_AREF(longkey_inf, idx);
if (!RB_TYPE_P(inf, T_ARRAY)) continue;
infp = RARRAY_CONST_PTR(inf);
@@ -1643,7 +1643,7 @@ cbsubst_table_setup(argc, argv, self)
len = RARRAY_LEN(proc_inf);
for(idx = 0; idx < len; idx++) {
VALUE type, proc;
- inf = RARRAY_CONST_PTR(proc_inf)[idx];
+ inf = RARRAY_AREF(proc_inf, idx);
if (!RB_TYPE_P(inf, T_ARRAY)) continue;
if (RARRAY_LEN(inf) < 2) continue;
type = rb_ary_entry(inf, 0);
@@ -1703,10 +1703,10 @@ cbsubst_scan_args(self, arg_key, val_ary)
}
if (NIL_P(proc)) {
- rb_ary_push(dst, RARRAY_CONST_PTR(val_ary)[idx]);
+ rb_ary_push(dst, RARRAY_AREF(val_ary, idx));
} else {
rb_ary_push(dst, rb_funcall(proc, ID_call, 1,
- RARRAY_CONST_PTR(val_ary)[idx]));
+ RARRAY_AREF(val_ary, idx)));
}
}