1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* 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
parent 0031e09170
commit f1ff09fbf6
4 changed files with 12 additions and 4 deletions

View file

@ -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

View file

@ -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
View file

@ -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
View file

@ -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;
}