mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
dir.c: get attributes by fd
* dir.c (is_case_sensitive): get attributes by the file descriptor of open directory, instead of using mount point name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
f7946774dd
commit
d8f628e582
2 changed files with 6 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
Fri Jul 10 17:41:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* dir.c (is_case_sensitive): get attributes by the file descriptor
|
||||
of open directory, instead of using mount point name.
|
||||
|
||||
Fri Jul 10 10:46:02 2015 ksss <co000ri@gmail.com>
|
||||
|
||||
* ext/stringio/stringio.c (writable): remove unnecessary check for
|
||||
|
|
4
dir.c
4
dir.c
|
@ -1451,10 +1451,8 @@ is_case_sensitive(DIR *dirp)
|
|||
const vol_capabilities_attr_t *const cap = attrbuf[0].cap;
|
||||
const int idx = VOL_CAPABILITIES_FORMAT;
|
||||
const uint32_t mask = VOL_CAP_FMT_CASE_SENSITIVE;
|
||||
struct statfs sf;
|
||||
|
||||
if (fstatfs(dirfd(dirp), &sf)) return -1;
|
||||
if (getattrlist(sf.f_mntonname, &al, attrbuf, sizeof(attrbuf), FSOPT_NOFOLLOW))
|
||||
if (fgetattrlist(dirfd(dirp), &al, attrbuf, sizeof(attrbuf), FSOPT_NOFOLLOW))
|
||||
return -1;
|
||||
if (!(cap->valid[idx] & mask))
|
||||
return -1;
|
||||
|
|
Loading…
Add table
Reference in a new issue