From 9c69fbd9110733abbbda85d83b0cc212ad4752fb Mon Sep 17 00:00:00 2001 From: ttyS3 Date: Fri, 6 Sep 2024 15:06:40 +0000 Subject: [PATCH] fix: replace UnsupportedFormat error with UnrarError Update error handling for unrar-specific issues to use the new UnrarError type. --- src/archive/rar.rs | 2 +- src/error.rs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/archive/rar.rs b/src/archive/rar.rs index bbbd08f..a482618 100644 --- a/src/archive/rar.rs +++ b/src/archive/rar.rs @@ -61,7 +61,7 @@ pub fn list_archive( Ok(FileInArchive { path, is_dir }) }).collect::>().into_iter(), - Err(e) => vec![Err(Error::UnsupportedFormat {reason:e.to_string()})].into_iter(), + Err(e) => vec![Err(Error::UnrarError{reason: e.to_string()})].into_iter(), } } diff --git a/src/error.rs b/src/error.rs index 7e7a0a8..a8b6004 100644 --- a/src/error.rs +++ b/src/error.rs @@ -41,6 +41,8 @@ pub enum Error { UnsupportedFormat { reason: String }, /// Invalid password provided InvalidPassword(&'static str), + /// UnrarError From unrar::error::UnrarError + UnrarError { reason: String }, } /// Alias to std's Result with ouch's Error @@ -151,6 +153,7 @@ impl fmt::Display for Error { FinalError::with_title("Recognised but unsupported format").detail(reason.clone()) } Error::InvalidPassword(reason) => FinalError::with_title("Invalid password").detail(*reason), + Error::UnrarError{reason} => FinalError::with_title("Unrar error").detail(reason.clone()), }; write!(f, "{err}")