summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-kernel-ext/src/kernel.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-10-19 19:39:02 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-10-19 19:39:02 +0900
commit4fd28deff9a8d1c40936aa27736222eeb9f00f07 (patch)
treee1eb4ff352984171031e1f1746b03f3e460978a9 /mrbgems/mruby-kernel-ext/src/kernel.c
parentc6669a328d2747abfbc5e849d8dce9fcd9150792 (diff)
downloadmruby-4fd28deff9a8d1c40936aa27736222eeb9f00f07.tar.gz
mruby-4fd28deff9a8d1c40936aa27736222eeb9f00f07.zip
refactoring C part of #2611
Diffstat (limited to 'mrbgems/mruby-kernel-ext/src/kernel.c')
-rw-r--r--mrbgems/mruby-kernel-ext/src/kernel.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/mrbgems/mruby-kernel-ext/src/kernel.c b/mrbgems/mruby-kernel-ext/src/kernel.c
index c293f5e8e..fac945ea5 100644
--- a/mrbgems/mruby-kernel-ext/src/kernel.c
+++ b/mrbgems/mruby-kernel-ext/src/kernel.c
@@ -37,21 +37,15 @@ mrb_f_method(mrb_state *mrb, mrb_value self)
static mrb_value
mrb_f_array(mrb_state *mrb, mrb_value self)
{
- mrb_value argv, tmp;
-
- mrb_get_args(mrb, "o", &argv);
- tmp = mrb_check_array_type(mrb, argv);
+ mrb_value arg, tmp;
+ mrb_get_args(mrb, "o", &arg);
+ tmp = mrb_check_convert_type(mrb, arg, MRB_TT_ARRAY, "Array", "to_ary");
if (mrb_nil_p(tmp)) {
- tmp = mrb_check_convert_type(mrb, argv, MRB_TT_ARRAY, "Array", "to_a");
+ tmp = mrb_check_convert_type(mrb, arg, MRB_TT_ARRAY, "Array", "to_a");
}
if (mrb_nil_p(tmp)) {
- struct RArray *a;
-
- tmp = mrb_ary_new_capa(mrb, 1);
- a = mrb_ary_ptr(tmp);
- a->ptr[0] = argv;
- a->len = 1;
+ tmp = mrb_ary_new_from_values(mrb, 1, &arg);
}
return tmp;