1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-08-01 05:27:45 +00:00

test: handle symlinks in main match

This commit is contained in:
Ian Douglas Scott 2018-03-16 18:47:11 -07:00
parent 301b9002ce
commit 187006f0d3
No known key found for this signature in database
GPG key ID: 4924E10E199B5959

View file

@ -374,16 +374,13 @@ fn path(path: &[u8], cond: PathCondition) -> bool {
} }
}; };
if cond == PathCondition::SymLink { let metadata = if cond == PathCondition::SymLink {
if let Ok(metadata) = fs::symlink_metadata(path) { fs::symlink_metadata(path)
if metadata.file_type().is_symlink() { } else {
return true; fs::metadata(path)
} };
}
return false;
}
let metadata = match fs::metadata(path) { let metadata = match metadata {
Ok(metadata) => metadata, Ok(metadata) => metadata,
Err(_) => { return false; } Err(_) => { return false; }
}; };
@ -397,7 +394,7 @@ fn path(path: &[u8], cond: PathCondition) -> bool {
PathCondition::Exists => true, PathCondition::Exists => true,
PathCondition::Regular => file_type.is_file(), PathCondition::Regular => file_type.is_file(),
PathCondition::GroupIDFlag => metadata.mode() & S_ISGID != 0, PathCondition::GroupIDFlag => metadata.mode() & S_ISGID != 0,
PathCondition::SymLink => true, PathCondition::SymLink => metadata.file_type().is_symlink(),
PathCondition::FIFO => file_type.is_fifo(), PathCondition::FIFO => file_type.is_fifo(),
PathCondition::Readable => perm(metadata, Permission::Read), PathCondition::Readable => perm(metadata, Permission::Read),
PathCondition::Socket => file_type.is_socket(), PathCondition::Socket => file_type.is_socket(),