* fhandler_disk_file.cc (fhandler_base::fstat_helper): Fix R/O bit

handling on filesystems without ACL support.
This commit is contained in:
Corinna Vinschen 2007-12-11 18:57:44 +00:00
parent 22eeaf62bb
commit 5c80ea0230
2 changed files with 8 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2007-12-11 Corinna Vinschen <corinna@vinschen.de>
* fhandler_disk_file.cc (fhandler_base::fstat_helper): Fix R/O bit
handling on filesystems without ACL support.
2007-12-11 Corinna Vinschen <corinna@vinschen.de>
* localtime.cc (tzset): Guard by a muto for thread safety.

View File

@ -553,13 +553,12 @@ fhandler_base::fstat_helper (struct __stat64 *buf,
{
buf->st_mode |= STD_RBITS;
if (!::has_attribute (dwFileAttributes, FILE_ATTRIBUTE_READONLY)
&& !pc.isdir () && !pc.issymlink ())
if (!::has_attribute (dwFileAttributes, FILE_ATTRIBUTE_READONLY))
buf->st_mode |= STD_WBITS;
/* | S_IWGRP | S_IWOTH; we don't give write to group etc */
if (S_ISDIR (buf->st_mode))
buf->st_mode |= S_IFDIR | STD_XBITS;
if (pc.isdir ())
buf->st_mode |= S_IFDIR | STD_WBITS | STD_XBITS;
else if (buf->st_mode & S_IFMT)
/* nothing */;
else if (is_fs_special ())