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 --- dir.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'dir.c') diff --git a/dir.c b/dir.c index b5306694a6..9ea6dd9620 100644 --- a/dir.c +++ b/dir.c @@ -379,7 +379,7 @@ dir_initialize(dir, dirname) { struct dir_data *dp; - SafeStringValue(dirname); + dirname = rb_get_path(dirname); Data_Get_Struct(dir, struct dir_data, dp); if (dp->dir) closedir(dp->dir); if (dp->path) free(dp->path); @@ -744,7 +744,7 @@ dir_s_chdir(argc, argv, obj) rb_secure(2); if (rb_scan_args(argc, argv, "01", &path) == 1) { - SafeStringValue(path); + path = rb_get_path(path); dist = RSTRING(path)->ptr; } else { @@ -806,8 +806,8 @@ check_dirname(dir) { char *path, *pend; - SafeStringValue(*dir); rb_secure(2); + *dir = rb_get_path(*dir); path = RSTRING(*dir)->ptr; if (path && *(pend = rb_path_end(rb_path_skip_prefix(path)))) { *dir = rb_str_new(path, pend - path); @@ -1439,7 +1439,7 @@ rb_push_glob(str, flags) else ary = rb_ary_new(); - SafeStringValue(str); + str = rb_get_path(str); buf = xmalloc(RSTRING(str)->len + 1); p = RSTRING(str)->ptr; -- cgit v1.2.3