From a9cdd74fec44a6eee340639fac653308a50f8aef Mon Sep 17 00:00:00 2001 From: Chris Mikkelson Date: Tue, 17 Sep 2024 22:14:38 +0000 Subject: [PATCH] Fix Fileset bugs Handle relative paths in fileset file, start last_reload at 0/epoch --- src/fileset.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/fileset.rs b/src/fileset.rs index 3d02f8d..5a5bf9e 100644 --- a/src/fileset.rs +++ b/src/fileset.rs @@ -17,10 +17,17 @@ pub struct Fileset { readers: Mutex>, } -fn load_fs_file(f: impl AsRef) -> Result> { +fn load_fs_file(f: &PathBuf) -> Result> { use std::fs::read_to_string; + let mut dir = f.clone(); + dir.pop(); + read_to_string(f) - .and_then(|s| Ok(s.lines().map(|l| PathBuf::from(l)).collect::>())) + .and_then(|s| { + Ok(s.lines() + .map(|l| dir.clone().join(PathBuf::from(l))) + .collect::>()) + }) .map_err(|e| e.into()) } @@ -28,7 +35,7 @@ impl Fileset { pub fn new(fname: impl AsRef) -> Self { Self { fs_path: PathBuf::new().with_file_name(fname.as_ref()), - last_reload: SystemTime::now() - Duration::new(2, 0), + last_reload: SystemTime::UNIX_EPOCH, reload_interval: Duration::new(1, 0), readers: Mutex::new(HashMap::new()), } -- 2.50.1