aboutsummaryrefslogtreecommitdiff
path: root/rustables/src/expr/log.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rustables/src/expr/log.rs')
-rw-r--r--rustables/src/expr/log.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/rustables/src/expr/log.rs b/rustables/src/expr/log.rs
index ba1244a..db96ba9 100644
--- a/rustables/src/expr/log.rs
+++ b/rustables/src/expr/log.rs
@@ -1,4 +1,4 @@
-use super::{Expression, Rule};
+use super::{DeserializationError, Expression, Rule};
use rustables_sys as sys;
use std::ffi::{CStr, CString};
use std::os::raw::c_char;
@@ -16,7 +16,7 @@ impl Expression for Log {
b"log\0" as *const _ as *const c_char
}
- fn from_expr(expr: *const sys::nftnl_expr) -> Option<Self>
+ fn from_expr(expr: *const sys::nftnl_expr) -> Result<Self, DeserializationError>
where
Self: Sized,
{
@@ -32,12 +32,12 @@ impl Expression for Log {
if sys::nftnl_expr_is_set(expr, sys::NFTNL_EXPR_LOG_PREFIX as u16) {
let raw_prefix = sys::nftnl_expr_get_str(expr, sys::NFTNL_EXPR_LOG_PREFIX as u16);
if raw_prefix.is_null() {
- trace!("Unexpected empty prefix in a 'log' expression");
+ return Err(DeserializationError::NullPointer);
} else {
prefix = Some(LogPrefix(CStr::from_ptr(raw_prefix).to_owned()));
}
}
- Some(Log { group, prefix })
+ Ok(Log { group, prefix })
}
}