From c9a4091b83b06b20d8e9178ce748d5b101925a2e Mon Sep 17 00:00:00 2001 From: Tomoyuki Sahara Date: Tue, 24 Nov 2015 09:54:03 +0900 Subject: arguments can be shared strings. --- src/file.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/file.c b/src/file.c index 9054b67aa..7e2b64c3e 100644 --- a/src/file.c +++ b/src/file.c @@ -298,14 +298,16 @@ mrb_file_s_symlink(mrb_state *mrb, mrb_value klass) #else mrb_value from, to; const char *src, *dst; + int ai = mrb_gc_arena_save(mrb); mrb_get_args(mrb, "SS", &from, &to); - src = mrb_string_value_cstr(mrb, &from); - dst = mrb_string_value_cstr(mrb, &to); + src = mrb_str_to_cstr(mrb, from); + dst = mrb_str_to_cstr(mrb, to); if (symlink(src, dst) < 0) { mrb_sys_fail(mrb, mrb_str_to_cstr(mrb, mrb_format(mrb, "(%S, %S)", from, to))); } + mrb_gc_arena_restore(mrb, ai); #endif return mrb_fixnum_value(0); } -- cgit v1.2.3