summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Somers <asomers@gmail.com>2020-06-09 18:30:56 -0600
committerGitHub <noreply@github.com>2020-06-10 00:30:56 +0000
commit55b8218767626e40940ee2cfd7cf1c4f643079cc (patch)
treef0add76752417097f4f1bcf5c50a3b5c70c11829
parent603b9fea2f1e2a2af06b9f6812dddde231a2fcc0 (diff)
Fix the build on FreeBSD (#34)
-rw-r--r--src/lib.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 3effdde..bb40565 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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();