summaryrefslogtreecommitdiff
path: root/vm_eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-05-20 16:43:41 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-05-20 16:43:41 +0000
commit060f433f48ccb293ed21bc99a89b162a548d2e74 (patch)
treebeb1650b092b8a90fef0bf9b94288d0b38091117 /vm_eval.c
parentc573aaf73f68500ec482f756dd14508002714e61 (diff)
* include/ruby/ruby.h (rb_long2int, RARRAY_LENINT): check long to
cast to int. [ruby-dev:38508] * struct.c, vm_eval.c, vm_insnhelper.c: use RARRAY_LENINT. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_eval.c')
-rw-r--r--vm_eval.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/vm_eval.c b/vm_eval.c
index 70bcd11ec8..b4db202e5e 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -398,7 +398,7 @@ rb_apply(VALUE recv, ID mid, VALUE args)
int argc;
VALUE *argv;
- argc = RARRAY_LEN(args); /* Assigns LONG, but argc is INT */
+ argc = RARRAY_LENINT(args);
argv = ALLOCA_N(VALUE, argc);
MEMCPY(argv, RARRAY_PTR(args), VALUE, argc);
return rb_call(CLASS_OF(recv), recv, mid, argc, argv, CALL_FCALL);
@@ -552,7 +552,7 @@ rb_yield_splat(VALUE values)
if (NIL_P(tmp)) {
rb_raise(rb_eArgError, "not an array");
}
- v = rb_yield_0(RARRAY_LEN(tmp), RARRAY_PTR(tmp));
+ v = rb_yield_0(RARRAY_LENINT(tmp), RARRAY_PTR(tmp));
return v;
}
@@ -909,7 +909,7 @@ rb_eval_cmd(VALUE cmd, VALUE arg, int level)
PUSH_TAG();
rb_set_safe_level_force(level);
if ((state = EXEC_TAG()) == 0) {
- val = rb_funcall2(cmd, rb_intern("call"), RARRAY_LEN(arg),
+ val = rb_funcall2(cmd, rb_intern("call"), RARRAY_LENINT(arg),
RARRAY_PTR(arg));
}
POP_TAG();
@@ -951,7 +951,7 @@ yield_under(VALUE under, VALUE self, VALUE values)
return vm_yield_with_cref(th, 0, 0, cref);
}
else {
- return vm_yield_with_cref(th, RARRAY_LEN(values), RARRAY_PTR(values), cref);
+ return vm_yield_with_cref(th, RARRAY_LENINT(values), RARRAY_PTR(values), cref);
}
}