diff --git a/nixide/src/errors/context.rs b/nixide/src/errors/context.rs index 060ddd9..9eae514 100644 --- a/nixide/src/errors/context.rs +++ b/nixide/src/errors/context.rs @@ -28,7 +28,6 @@ use std::ptr::NonNull; use super::{NixError, NixideResult}; use crate::stdext::{AsCPtr as _, CCharPtrExt as _}; use crate::sys; -use crate::util::panic_issue_call_failed; use crate::util::wrap; use crate::util::wrappers::AsInnerPtr; @@ -100,7 +99,7 @@ impl Into> for &ErrorContext { }; let msg = match self.get_msg() { Some(msg) => msg, - None => return Ok(()), + None => String::new(), }; let err = match inner { @@ -109,13 +108,8 @@ impl Into> for &ErrorContext { sys::NixErr::Overflow => NixError::Overflow, sys::NixErr::Key => NixError::KeyNotFound(None), sys::NixErr::NixError => NixError::ExprEval { - name: self - .get_nix_err_name() - .unwrap_or_else(|| panic_issue_call_failed!()), - - info_msg: self - .get_nix_err_info_msg() - .unwrap_or_else(|| panic_issue_call_failed!()), + name: self.get_nix_err_name().unwrap(), + info_msg: self.get_nix_err_info_msg().unwrap_or_else(|| String::new()), }, // XXX: WARNING: Recoverable only exists in later version of Nix @@ -217,7 +211,7 @@ impl ErrorContext { /// /// This function **never fails**. /// - fn get_err(&self) -> Option { + pub fn get_err(&self) -> Option { match unsafe { sys::nix_err_code(self.as_ptr()) } { sys::NixErr::Ok => None, err => Some(err), @@ -254,7 +248,7 @@ impl ErrorContext { /// Hence we can just test whether the returned pointer is a `NULL` pointer, /// and avoid passing in a [NixCContext] struct. /// - fn get_msg(&self) -> Option { + pub fn get_msg(&self) -> Option { // NOTE: an Err here only occurs when `self.get_code() == Ok(())` let mut n: c_uint = 0; let result = wrap::nix_fn!(|ctx: &ErrorContext| unsafe {