summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-08-02 03:25:12 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-08-02 03:25:12 +0000
commit49e259ec587fd72d96210fcb33593f3955555795 (patch)
tree3c72392c99cb90b8c7de74f0f6919223a5944e4a
parentb25465592263c90ae4893f041ae99df17fd05eba (diff)
* file.c (file_expand_path): wrong condition. [ruby-core:31591]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--file.c2
-rw-r--r--test/ruby/test_file_exhaustive.rb1
3 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 43fc95ba80..72f2be2685 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Aug 2 12:22:22 2010 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * file.c (file_expand_path): wrong condition. [ruby-core:31591]
+
Mon Aug 2 05:34:48 2010 Tanaka Akira <akr@fsij.org>
* ext/pathname/pathname.c (path_realdirpath): Pathname#realdirpath
diff --git a/file.c b/file.c
index f49b46dcbb..712d60ef45 100644
--- a/file.c
+++ b/file.c
@@ -2897,7 +2897,7 @@ file_expand_path(VALUE fname, VALUE dname, int abs_mode, VALUE result)
else {
/* specified drive, but not full path */
int same = 0;
- if (!NIL_P(dname) || !not_same_drive(dname, s[0])) {
+ if (!NIL_P(dname) && !not_same_drive(dname, s[0])) {
file_expand_path(dname, Qnil, abs_mode, result);
BUFINIT();
if (has_drive_letter(p) && TOLOWER(p[0]) == TOLOWER(s[0])) {
diff --git a/test/ruby/test_file_exhaustive.rb b/test/ruby/test_file_exhaustive.rb
index 5344494679..4615bceb05 100644
--- a/test/ruby/test_file_exhaustive.rb
+++ b/test/ruby/test_file_exhaustive.rb
@@ -393,6 +393,7 @@ class TestFileExhaustive < Test::Unit::TestCase
assert_equal(@file, File.expand_path(@file + " "))
assert_equal(@file, File.expand_path(@file + "."))
assert_equal(@file, File.expand_path(@file + "::$DATA"))
+ assert_match(/\Ac:\//i, File.expand_path('c:'), '[ruby-core:31591]')
end
assert_kind_of(String, File.expand_path("~"))
assert_raise(ArgumentError) { File.expand_path("~foo_bar_baz_unknown_user_wahaha") }