From fd945feaf76e6ba04802d0d28b790f8ca1837e6e Mon Sep 17 00:00:00 2001
From: Foorack <max@foorack.com>
Date: Sun, 9 Feb 2025 16:17:38 +0100
Subject: [PATCH] lsmem: better error messages in case of file read error

---
 src/uu/lsmem/src/lsmem.rs | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/uu/lsmem/src/lsmem.rs b/src/uu/lsmem/src/lsmem.rs
index e798811..e97666a 100644
--- a/src/uu/lsmem/src/lsmem.rs
+++ b/src/uu/lsmem/src/lsmem.rs
@@ -686,11 +686,15 @@ fn read_file_content<T: core::str::FromStr>(path: &Path) -> io::Result<T>
 where
     T::Err: std::fmt::Debug, // Required to unwrap the result of T::from_str
 {
-    let file = fs::File::open(path)?;
+    let file = fs::File::open(path).expect("Failed to open file");
     let mut reader = BufReader::new(file);
     let mut content = String::new();
-    reader.read_line(&mut content)?;
-    Ok(content.trim().to_string().parse().unwrap())
+    reader.read_line(&mut content).expect("Failed to read line");
+    content
+        .trim()
+        .to_string()
+        .parse()
+        .map_err(|_| io::Error::new(io::ErrorKind::InvalidData, "Failed to parse content"))
 }
 
 #[uucore::main]