diff --git a/src/utilities/string.rs b/src/utilities/string.rs index 4a2bb63..5b18625 100644 --- a/src/utilities/string.rs +++ b/src/utilities/string.rs @@ -1,6 +1,20 @@ pub fn o_to_string(val: &std::ffi::OsString) -> Result { match val.clone().into_string() { Ok(value) => Ok(value), - Err(_) => Err(std::io::Error::other(String::from("Error"))), + Err(err) => match err.into_string() { + Ok(res) => { + Err(std::io::Error::other(res.to_string())) + } + Err(err) => { + match err.to_str() { + Some(err) => { + Err(std::io::Error::other(err)) + } + None => { + Err(std::io::Error::other("Undefined error")) + } + } + } + } } }