summaryrefslogtreecommitdiffhomepage
path: root/src/kernel.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel.c')
-rw-r--r--src/kernel.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/kernel.c b/src/kernel.c
index 15a80f7c4..3b1ad863f 100644
--- a/src/kernel.c
+++ b/src/kernel.c
@@ -573,8 +573,10 @@ get_valid_iv_sym(mrb_state *mrb, mrb_value iv_name)
mrb_assert(mrb_symbol_p(iv_name) || mrb_string_p(iv_name));
if (mrb_string_p(iv_name)) {
- iv_name_id = mrb_intern(mrb, RSTRING_PTR(iv_name), RSTRING_LEN(iv_name));
- valid_iv_name(mrb, iv_name_id, RSTRING_PTR(iv_name), RSTRING_LEN(iv_name));
+ char *p = RSTRING_PTR(iv_name);
+ mrb_int l = RSTRING_LEN(iv_name);
+ iv_name_id = mrb_intern(mrb, p, l);
+ valid_iv_name(mrb, iv_name_id, p, l);
}
else {
iv_name_id = mrb_symbol(iv_name);