mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-25 08:41:05 +00:00
fix: ensure that LINK and ORPHAN cannot coexist
This commit is contained in:
parent
a1c963accc
commit
85334457f3
2 changed files with 2 additions and 3 deletions
|
|
@ -38,8 +38,6 @@ impl From<Metadata> for Cha {
|
||||||
let mut ck = ChaKind::empty();
|
let mut ck = ChaKind::empty();
|
||||||
if m.is_dir() {
|
if m.is_dir() {
|
||||||
ck |= ChaKind::DIR;
|
ck |= ChaKind::DIR;
|
||||||
} else if m.is_symlink() {
|
|
||||||
ck |= ChaKind::LINK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
|
|
|
||||||
|
|
@ -31,13 +31,14 @@ impl File {
|
||||||
let (is_link, mut link_to) = (meta.is_symlink(), None);
|
let (is_link, mut link_to) = (meta.is_symlink(), None);
|
||||||
|
|
||||||
if is_link {
|
if is_link {
|
||||||
ck |= ChaKind::LINK;
|
|
||||||
meta = fs::metadata(&url).await.unwrap_or(meta);
|
meta = fs::metadata(&url).await.unwrap_or(meta);
|
||||||
link_to = fs::read_link(&url).await.map(Url::from).ok();
|
link_to = fs::read_link(&url).await.map(Url::from).ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
if is_link && meta.is_symlink() {
|
if is_link && meta.is_symlink() {
|
||||||
ck |= ChaKind::ORPHAN;
|
ck |= ChaKind::ORPHAN;
|
||||||
|
} else if is_link {
|
||||||
|
ck |= ChaKind::LINK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if url.is_hidden() {
|
if url.is_hidden() {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue