diff --git a/src/platform/linux/sysfs/fs.rs b/src/platform/linux/sysfs/fs.rs index cfd9774..c026962 100644 --- a/src/platform/linux/sysfs/fs.rs +++ b/src/platform/linux/sysfs/fs.rs @@ -1,5 +1,4 @@ use std::error; -use std::fs::read_to_string; use std::io; use std::path::Path; use std::str::FromStr; @@ -93,8 +92,9 @@ pub fn scope>(path: T) -> Result { /// Ok(None) - file is missing /// Err(_) - unable to access file for some reasons (except `NotFound` and `ENODEV`) pub fn get_string>(path: T) -> Result> { - match read_to_string(path) { - Ok(mut content) => { + match std::fs::read(path) { + Ok(buffer) => { + let mut content: String = String::from_utf8_lossy(buffer.as_slice()).into(); if content.starts_with('\0') { Err(io::Error::from(io::ErrorKind::InvalidData).into()) } else { diff --git a/src/platform/linux/sysfs/source.rs b/src/platform/linux/sysfs/source.rs index 8de44e6..23c3a8b 100644 --- a/src/platform/linux/sysfs/source.rs +++ b/src/platform/linux/sysfs/source.rs @@ -301,7 +301,7 @@ impl<'p> DataBuilder<'p> { // (real one this time), it is better just to ignore this value. // See: https://github.com/svartalf/rust-battery/issues/23 match value { - Some(cycles) if cycles == 0 => None, + Some(0) => None, Some(cycles) => Some(cycles), None => None, }