From 2abb370ff2ebc1de72e6f18288aac0d1981befc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Ko=C5=82aczkowski?= Date: Fri, 26 Aug 2022 17:30:28 +0200 Subject: [PATCH] Display path in the warning msg when file metadata can't be accessed Before: warn: Permission denied (os error 13) After: warn: Failed to read metadata of /.../file.txt: Permission denied (os error 13) Fixes #147 --- src/file.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/file.rs b/src/file.rs index 2715e64..c4e037d 100644 --- a/src/file.rs +++ b/src/file.rs @@ -290,7 +290,12 @@ pub struct FileMetadata { impl FileMetadata { pub fn new(path: &Path) -> io::Result { let path_buf = path.to_path_buf(); - let metadata = fs::metadata(&path_buf)?; + let metadata = fs::metadata(&path_buf).map_err(|e| { + io::Error::new( + e.kind(), + format!("Failed to read metadata of {}: {}", path.display(), e), + ) + })?; #[cfg(unix)] let id = FileId::from_metadata(&metadata); #[cfg(windows)]