mirror of
https://github.com/nachoparker/dutree
synced 2024-05-28 02:26:05 +02:00
Gracefully handle bad or invalid symlinks
This commit is contained in:
parent
72344f2780
commit
e7ee15b832
16
src/lib.rs
16
src/lib.rs
|
@ -481,15 +481,17 @@ fn get_bytes( path: &Path, usage_flag : bool ) -> u64 {
|
|||
|
||||
fn color_from_path<'a>( path : &Path, color_dict : &'a HashMap<String, String> ) -> Option<&'a str> {
|
||||
if try_is_symlink( path ) {
|
||||
if path.read_link().unwrap().exists() {
|
||||
if let Some( col ) = color_dict.get( &"ln".to_string() ) {
|
||||
return Some( &col );
|
||||
}
|
||||
} else {
|
||||
if let Some( col ) = color_dict.get( &"or".to_string() ) {
|
||||
return Some( &col );
|
||||
let path_link = path.read_link();
|
||||
if path_link.is_ok() {
|
||||
if path_link.unwrap().exists() {
|
||||
if let Some(col) = color_dict.get(&"ln".to_string()) {
|
||||
return Some(&col);
|
||||
}
|
||||
}
|
||||
}
|
||||
if let Some( col ) = color_dict.get( &"or".to_string() ) {
|
||||
return Some( &col );
|
||||
}
|
||||
}
|
||||
let metadata = path.symlink_metadata();
|
||||
if metadata.is_ok() {
|
||||
|
|
Loading…
Reference in New Issue