diff options
Diffstat (limited to 'src/sys/unix.rs')
-rw-r--r-- | src/sys/unix.rs | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/sys/unix.rs b/src/sys/unix.rs index 2d52627..e014b4c 100644 --- a/src/sys/unix.rs +++ b/src/sys/unix.rs @@ -1,6 +1,3 @@ -use std; -use users; - use std::os::unix::fs::MetadataExt; use std::os::unix::fs::PermissionsExt; @@ -14,13 +11,11 @@ pub fn path_writable(path: &std::path::Path) -> super::PathWritability { let file_gid = stat.gid(); let file_mode = stat.permissions().mode(); - if euid == 0 { - super::PathWritability::Writable - } else if (file_uid == euid) && (file_mode & 0o200 != 0) { - super::PathWritability::Writable - } else if (file_gid == egid) && (file_mode & 0o020 != 0) { - super::PathWritability::Writable - } else if file_mode & 0o002 != 0 { + if euid == 0 + || ((file_uid == euid) && (file_mode & 0o200 != 0)) + || ((file_gid == egid) && (file_mode & 0o020 != 0)) + || (file_mode & 0o002 != 0) + { super::PathWritability::Writable } else { super::PathWritability::NotWritable |