1
0
Fork 0
mirror of https://github.com/nachoparker/dutree synced 2024-04-28 04:35:03 +02:00

Fix the build on FreeBSD (#34)

This commit is contained in:
Alan Somers 2020-06-09 18:30:56 -06:00 committed by GitHub
parent 603b9fea2f
commit 55b8218767
Signed by: GitHub
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -52,6 +52,8 @@ use regex::Regex;
use std::io;
use std::path::{Path, PathBuf};
use std::fs;
#[cfg(target_os = "freebsd")]
use std::os::freebsd::fs::MetadataExt;
#[cfg(target_os = "linux")]
use std::os::linux::fs::MetadataExt;
#[cfg(target_os = "macos")]
@ -230,7 +232,7 @@ fn try_read_dir( path : &Path ) -> Option<fs::ReadDir> {
fn try_bytes_from_path( path : &Path, usage_flag : bool ) -> u64 {
match path.symlink_metadata() {
#[cfg(target_os = "linux")]
#[cfg(any(target_os = "freebsd", target_os = "linux"))]
Ok(metadata) => if usage_flag { metadata.st_blocks()*512 } else { metadata.st_size() },
#[cfg(target_os = "macos")]
Ok(metadata) => if usage_flag { metadata.blocks()*512 } else { metadata.size() },
@ -503,7 +505,7 @@ fn color_from_path<'a>( path : &Path, color_dict : &'a HashMap<String, String> )
}
let metadata = path.symlink_metadata();
if metadata.is_ok() {
#[cfg(target_os = "linux")]
#[cfg(any(target_os = "freebsd", target_os = "linux"))]
let mode = metadata.unwrap().st_mode();
#[cfg(target_os = "macos")]
let mode = metadata.unwrap().mode();