diff --git a/ChangeLog b/ChangeLog index 150f44ab94..bb350a81bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Aug 6 05:10:14 2008 Nobuyoshi Nakada + + * file.c (rb_find_file): reset to real class. + + * io.c (io_reopen): ditto. + Tue Aug 5 16:43:07 2008 Shugo Maeda * lib/net/ftp.rb (chdir): handle 5xx errors correctly. diff --git a/file.c b/file.c index 9518a4d622..04ce598f4a 100644 --- a/file.c +++ b/file.c @@ -4432,6 +4432,7 @@ rb_find_file_ext(filep, ext) for (j=0; ext[j]; j++) { rb_str_cat2(tmp, ext[j]); if (file_load_ok(RSTRING_PTR(tmp))) { + rb_str_resize(tmp, 0); fname = rb_str_dup(*filep); rb_str_cat2(fname, ext[j]); OBJ_FREEZE(fname); @@ -4500,7 +4501,7 @@ rb_find_file(path) } return 0; found: - RBASIC(tmp)->klass = RBASIC(path)->klass; + RBASIC(tmp)->klass = rb_obj_class(path); OBJ_FREEZE(tmp); } else { diff --git a/io.c b/io.c index 7663733d1e..b2a667d1bd 100644 --- a/io.c +++ b/io.c @@ -3724,7 +3724,7 @@ io_reopen(io, nfile) rb_io_binmode(io); } - RBASIC(io)->klass = RBASIC(nfile)->klass; + RBASIC(io)->klass = rb_obj_class(nfile); return io; } diff --git a/version.h b/version.h index 0ecfef2940..ef256f9f6c 100644 --- a/version.h +++ b/version.h @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.8.7" -#define RUBY_RELEASE_DATE "2008-08-05" +#define RUBY_RELEASE_DATE "2008-08-06" #define RUBY_VERSION_CODE 187 -#define RUBY_RELEASE_CODE 20080805 +#define RUBY_RELEASE_CODE 20080806 #define RUBY_PATCHLEVEL 5000 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 7 #define RUBY_RELEASE_YEAR 2008 #define RUBY_RELEASE_MONTH 8 -#define RUBY_RELEASE_DAY 5 +#define RUBY_RELEASE_DAY 6 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[];