* 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
This commit is contained in:
nobu 2008-08-05 20:08:33 +00:00
Родитель 0031e09170
Коммит f1ff09fbf6
4 изменённых файлов: 12 добавлений и 4 удалений

Просмотреть файл

@ -1,3 +1,11 @@
Wed Aug 6 05:08:30 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* 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.
Wed Aug 6 03:56:39 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* common.mk (transcodes), tool/build-transcode: generates transcode

Просмотреть файл

@ -1562,7 +1562,7 @@ rb_ary_sort_bang(VALUE ary)
RARRAY(tmp)->ptr = 0;
RARRAY(tmp)->len = 0;
RARRAY(tmp)->aux.capa = 0;
RBASIC(tmp)->klass = RBASIC(ary)->klass;
RBASIC(tmp)->klass = rb_cArray;
}
return ary;
}

4
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 {

2
io.c
Просмотреть файл

@ -4500,7 +4500,7 @@ io_reopen(VALUE io, VALUE nfile)
rb_io_binmode(io);
}
RBASIC(io)->klass = RBASIC(nfile)->klass;
RBASIC(io)->klass = rb_obj_class(nfile);
return io;
}