* fhandler.cc (fhandler_base::fchmod): Do the right thing when changing an "on
disk" device or fifo. (fhandler_base::fchown): Ditto for changing ownership. * fhandler_disk_file.cc (fhandler_base::fstat_helper): Accommodate device files on ntfs partitions. * path.cc (path_conv::check): Use isfs function to figure out if a path exists on a filesystem to make sure that device files are caught.
This commit is contained in:
@ -300,8 +300,15 @@ fhandler_base::fstat_helper (struct __stat64 *buf,
|
||||
if (pc.has_attribute (FILE_ATTRIBUTE_READONLY) && !pc.issymlink ())
|
||||
buf->st_mode &= ~(S_IWUSR | S_IWGRP | S_IWOTH);
|
||||
|
||||
if (!(buf->st_mode & S_IFMT))
|
||||
if (buf->st_mode & S_IFMT)
|
||||
/* nothing */;
|
||||
else if (!is_fs_special ())
|
||||
buf->st_mode |= S_IFREG;
|
||||
else
|
||||
{
|
||||
buf->st_dev = dev ();
|
||||
buf->st_mode = dev ().mode;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user