summaryrefslogtreecommitdiffhomepage
path: root/mullvad-api/src/ffi/error.rs
diff options
context:
space:
mode:
authorEmīls <emils@mullvad.net>2024-12-09 10:59:51 +0100
committerEmīls <emils@mullvad.net>2025-01-02 10:29:05 +0100
commit3093408a057020fcd912976b892fbb6bc26e6293 (patch)
tree56ac01255fdc7f0c29aa6a8c5a8cdd863ff4f496 /mullvad-api/src/ffi/error.rs
parent58efb1004f8ca762fe6aa95f541c6dc329ed790e (diff)
downloadmullvadvpn-3093408a057020fcd912976b892fbb6bc26e6293.tar.xz
mullvadvpn-3093408a057020fcd912976b892fbb6bc26e6293.zip
Remove global API endpoint
Diffstat (limited to 'mullvad-api/src/ffi/error.rs')
-rw-r--r--mullvad-api/src/ffi/error.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/mullvad-api/src/ffi/error.rs b/mullvad-api/src/ffi/error.rs
index 539a6c23a0..66ffc01220 100644
--- a/mullvad-api/src/ffi/error.rs
+++ b/mullvad-api/src/ffi/error.rs
@@ -13,6 +13,7 @@ pub enum MullvadApiErrorKind {
/// MullvadApiErrorKind contains a description and an error kind. If the error kind is
/// `MullvadApiErrorKind` is NoError, the pointer will be nil.
+#[derive(Debug)]
#[repr(C)]
pub struct MullvadApiError {
description: *mut libc::c_char,
@@ -47,6 +48,13 @@ impl MullvadApiError {
}
}
+ pub fn unwrap(&self) {
+ if !matches!(self.kind, MullvadApiErrorKind::NoError) {
+ let desc = unsafe { std::ffi::CStr::from_ptr(self.description) };
+ panic!("API ERROR - {:?} - {}", self.kind, desc.to_str().unwrap());
+ }
+ }
+
pub fn drop(self) {
if self.description.is_null() {
return;