aboutsummaryrefslogtreecommitdiffstats
path: root/src/sys/unix.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys/unix.rs')
-rw-r--r--src/sys/unix.rs15
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