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