summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-06-10 09:15:55 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-06-10 09:15:55 +0000
commita610b0a959c58099597fcfa52443b806a7b3ab7f (patch)
treebe5ea151f5a7d303789b69acb40b008da9835e8f
parentb28d9b6d18d67898e60b8e7e84526430bcdb55c7 (diff)
* dir.c (dir_s_getwd): directory path's encoding should be filesystem's
one. * lib/tmpdir.rb: ditto (but not finished yet.) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--dir.c1
-rw-r--r--lib/tmpdir.rb1
3 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 84673a12d7..aa218a6ef9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Wed Jun 10 18:15:17 2009 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * dir.c (dir_s_getwd): directory path's encoding should be filesystem's
+ one.
+
+ * lib/tmpdir.rb: ditto (but not finished yet.)
+
Wed Jun 10 06:28:15 2009 Eric Hodel <drbrain@segment7.net>
* lib/rubygems*: Upgrade to RubyGems 1.3.4 r2223.
diff --git a/dir.c b/dir.c
index 5c7d00222b..980b57a283 100644
--- a/dir.c
+++ b/dir.c
@@ -816,6 +816,7 @@ dir_s_getwd(VALUE dir)
rb_secure(4);
path = my_getcwd();
cwd = rb_tainted_str_new2(path);
+ rb_enc_associate(cwd, rb_filesystem_encoding());
xfree(path);
return cwd;
diff --git a/lib/tmpdir.rb b/lib/tmpdir.rb
index 9fd36039d7..0d247bdd54 100644
--- a/lib/tmpdir.rb
+++ b/lib/tmpdir.rb
@@ -27,6 +27,7 @@ class Dir
end
windir[getdir.call(windir, windir.size)..-1] = ""
end
+ windir.force_encoding(Dir.pwd.encoding)
temp = File.expand_path('temp', windir.untaint)
@@systmpdir = temp if File.directory?(temp) and File.writable?(temp)
rescue LoadError