diff --git a/ChangeLog b/ChangeLog index 7b7b4b2f74..7ee8ccf001 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Sep 4 23:48:47 2010 Nobuyoshi Nakada + + * file.c (rb_file_s_readlink): symlink target should be in + filesystem encoding. + Wed Sep 1 14:33:36 2010 NARUSE, Yui * enum.c (enum_zip): fix typo of rdoc. diff --git a/file.c b/file.c index 0f1e24ba2e..6232f7f46e 100644 --- a/file.c +++ b/file.c @@ -2446,7 +2446,7 @@ rb_file_s_readlink(VALUE klass, VALUE path) xfree(buf); rb_sys_fail_path(path); } - v = rb_tainted_str_new(buf, rv); + v = rb_filesystem_str_new(buf, rv); xfree(buf); return v; diff --git a/test/ruby/test_file_exhaustive.rb b/test/ruby/test_file_exhaustive.rb index 4615bceb05..5a62db1124 100644 --- a/test/ruby/test_file_exhaustive.rb +++ b/test/ruby/test_file_exhaustive.rb @@ -354,11 +354,14 @@ class TestFileExhaustive < Test::Unit::TestCase assert_raise(Errno::EEXIST) { File.link(@file, @file) } end - def test_symlink2 + def test_readlink return unless @symlinkfile assert_equal(@file, File.readlink(@symlinkfile)) assert_raise(Errno::EINVAL) { File.readlink(@file) } assert_raise(Errno::ENOENT) { File.readlink(@nofile) } + if fs = Encoding.find("filesystem") + assert_equal(fs, File.readlink(@symlinkfile).encoding) + end rescue NotImplementedError end diff --git a/version.h b/version.h index a0a4d62bbc..781dc47a25 100644 --- a/version.h +++ b/version.h @@ -1,13 +1,13 @@ #define RUBY_VERSION "1.9.2" -#define RUBY_PATCHLEVEL 29 +#define RUBY_PATCHLEVEL 30 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 #define RUBY_RELEASE_YEAR 2010 -#define RUBY_RELEASE_MONTH 10 -#define RUBY_RELEASE_DAY 23 -#define RUBY_RELEASE_DATE "2010-10-23" +#define RUBY_RELEASE_MONTH 11 +#define RUBY_RELEASE_DAY 1 +#define RUBY_RELEASE_DATE "2010-11-01" #include "ruby/version.h"