diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/error.rs | 4 | ||||
| -rw-r--r-- | src/util.rs | 6 | 
2 files changed, 7 insertions, 3 deletions
| diff --git a/src/error.rs b/src/error.rs index ef9b149..b27124c 100644 --- a/src/error.rs +++ b/src/error.rs @@ -14,6 +14,8 @@ pub enum Error {      LibraryError(LibraryError),      /// An error that occured during random number generation.      RandError(rand_core::Error), +    /// An error that is caused by an unexpected value returned by libnitrokey. +    UnexpectedError,      /// An unknown error returned by libnitrokey.      Unknown(i64),  } @@ -63,6 +65,7 @@ impl error::Error for Error {              Error::CommunicationError(ref err) => Some(err),              Error::LibraryError(ref err) => Some(err),              Error::RandError(ref err) => Some(err), +            Error::UnexpectedError => None,              Error::Unknown(_) => None,          }      } @@ -75,6 +78,7 @@ impl fmt::Display for Error {              Error::CommunicationError(ref err) => write!(f, "Communication error: {}", err),              Error::LibraryError(ref err) => write!(f, "Library error: {}", err),              Error::RandError(ref err) => write!(f, "RNG error: {}", err), +            Error::UnexpectedError => write!(f, "An unexpected error occurred"),              Error::Unknown(ref err) => write!(f, "Unknown error: {}", err),          }      } diff --git a/src/util.rs b/src/util.rs index 2738fce..79b8c34 100644 --- a/src/util.rs +++ b/src/util.rs @@ -5,7 +5,7 @@ use libc::{c_void, free};  use rand_core::RngCore;  use rand_os::OsRng; -use crate::error::{CommandError, Error, LibraryError}; +use crate::error::{Error, LibraryError};  /// Log level for libnitrokey.  /// @@ -36,7 +36,7 @@ pub fn owned_str_from_ptr(ptr: *const c_char) -> String {  pub fn result_from_string(ptr: *const c_char) -> Result<String, Error> {      if ptr.is_null() { -        return Err(CommandError::Undefined.into()); +        return Err(Error::UnexpectedError);      }      unsafe {          let s = owned_str_from_ptr(ptr); @@ -65,7 +65,7 @@ pub fn get_last_result() -> Result<(), Error> {  pub fn get_last_error() -> Error {      return match get_last_result() { -        Ok(()) => CommandError::Undefined.into(), +        Ok(()) => Error::UnexpectedError,          Err(err) => err,      };  } | 
