summaryrefslogtreecommitdiff
path: root/file.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-05 20:08:33 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-05 20:08:33 +0000
commitf1ff09fbf62a1db3991efef5c1d0e53feffdfb6b (patch)
tree13a07a4ac60fa737cf76cbe9460f4de4d3352aff /file.c
parent0031e09170af64ff0d6ad34cc7cfefbeb6df74f2 (diff)
* array.c (rb_ary_sort_bang): reset to real class.
* file.c (rb_find_file_ext, rb_find_file): ditto. * io.c (io_reopen): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'file.c')
-rw-r--r--file.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/file.c b/file.c
index 6888ad0ea3..970875f946 100644
--- a/file.c
+++ b/file.c
@@ -4506,7 +4506,7 @@ rb_find_file_ext(VALUE *filep, const char *const *ext)
if (RSTRING_LEN(str) == 0) continue;
file_expand_path(fname, str, tmp);
if (file_load_ok(RSTRING_PTR(tmp))) {
- RBASIC(tmp)->klass = RBASIC(*filep)->klass;
+ RBASIC(tmp)->klass = rb_obj_class(*filep);
OBJ_FREEZE(tmp);
*filep = tmp;
return j+1;
@@ -4572,7 +4572,7 @@ rb_find_file(VALUE path)
}
return 0;
found:
- RBASIC(tmp)->klass = RBASIC(path)->klass;
+ RBASIC(tmp)->klass = rb_obj_class(path);
OBJ_FREEZE(tmp);
}
else {