From 4ded52b623ebd1b3de12db82f8b54cc156c1fd28 Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 7 Apr 2004 02:51:05 +0000 Subject: * file.c (rb_get_path): get path string via "to_path" method if path object is not a string. [Ruby2] * gc.c (rb_gc_call_finalizer_at_exit): do not free threads in the exit finalizers. * io.c (rb_io_reopen): should use rb_io_check_io(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'eval.c') diff --git a/eval.c b/eval.c index a46157fc0b..85f8433c6b 100644 --- a/eval.c +++ b/eval.c @@ -6385,11 +6385,11 @@ rb_load(fname, wrap) NODE *saved_cref = ruby_cref; TMP_PROTECT; - if (wrap && ruby_safe_level >= 4) { + if (wrap && ruby_safe_level >= 4 && OBJ_TAINTED(fname)) { StringValue(fname); } else { - SafeStringValue(fname); + fname = rb_get_path(fname); } tmp = rb_find_file(fname); if (!tmp) { @@ -6714,10 +6714,7 @@ rb_require_safe(fname, safe) } volatile saved; char *volatile ftptr = 0; - if (OBJ_TAINTED(fname)) { - rb_check_safe_obj(fname); - } - StringValue(fname); + fname = rb_get_path(fname); saved.vmode = scope_vmode; saved.node = ruby_current_node; saved.func = ruby_frame->last_func; -- cgit v1.2.3