Issue #6851 has been updated by usa (Usaku NAKAMURA).

Category set to core
Status changed from Open to Assigned
Assignee set to h.shirosaki (Hiroshi Shirosaki)
Target version set to 2.0.0

It's bug.
----------------------------------------
Bug #6851: Result of File.stat("c:/...") is different from 1.9.3
https://bugs.ruby-lang.org/issues/6851#change-28755

Author: phasis68 (Heesob Park)
Status: Assigned
Priority: Normal
Assignee: h.shirosaki (Hiroshi Shirosaki)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-08-10 trunk 36676) [i386-mswin32_100]


What is the correct result of File.stat("c:/...") on Windows?

File#stat for path like "c:/..." succeeds on trunk 36676.

C:\>ruby -ve 'p File.stat("c:/...")'
ruby 2.0.0dev (2012-08-10 trunk 36676) [i386-mswin32_100]
#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=
0, blksize=nil, blocks=nil, atime=2012-08-10 14:53:27 +0900, mtime=2012-08-10 09
:40:33 +0900, ctime=2011-04-08 19:43:44 +0900>

C:\>ruby -ve 'p File.stat("c:/....")'
ruby 2.0.0dev (2012-08-10 trunk 36676) [i386-mswin32_100]
#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=
0, blksize=nil, blocks=nil, atime=2012-08-10 14:53:32 +0900, mtime=2012-08-10 09
:40:33 +0900, ctime=2011-04-08 19:43:44 +0900>

C:\>ruby -ve 'p File.stat("c:/..../..")'
ruby 2.0.0dev (2012-08-10 trunk 36676) [i386-mswin32_100]
#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=
0, blksize=nil, blocks=nil, atime=2012-08-10 14:53:45 +0900, mtime=2012-08-10 09
:40:33 +0900, ctime=2011-04-08 19:43:44 +0900>

But, File#stat raises exception on Ruby 1.9.3.

C:\Ruby193\bin>ruby -ve 'p File.stat("c:/...")
ruby 1.9.3p194 (2012-04-20 revision 35410) [i386-mingw32]
-e:1:in `stat': Invalid argument - c:/... (Errno::EINVAL)
        from -e:1:in `<main>'

C:\Ruby193\bin>ruby -ve 'p File.stat("c:/....")
ruby 1.9.3p194 (2012-04-20 revision 35410) [i386-mingw32]
-e:1:in `stat': No such file or directory - c:/.... (Errno::ENOENT)
        from -e:1:in `<main>'



-- 
http://bugs.ruby-lang.org/