aboutsummaryrefslogtreecommitdiff
path: root/rustables/src/table.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rustables/src/table.rs')
-rw-r--r--rustables/src/table.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/rustables/src/table.rs b/rustables/src/table.rs
index dc09b5e..7cc475f 100644
--- a/rustables/src/table.rs
+++ b/rustables/src/table.rs
@@ -38,7 +38,11 @@ impl Table {
pub fn get_name(&self) -> &CStr {
unsafe {
let ptr = sys::nftnl_table_get_str(self.table, sys::NFTNL_TABLE_NAME as u16);
- CStr::from_ptr(ptr)
+ if ptr.is_null() {
+ panic!("Impossible situation: retrieving the name of a chain failed")
+ } else {
+ CStr::from_ptr(ptr)
+ }
}
}
@@ -66,10 +70,11 @@ impl Table {
pub fn get_userdata(&self) -> Option<&CStr> {
unsafe {
let ptr = sys::nftnl_table_get_str(self.table, sys::NFTNL_TABLE_USERDATA as u16);
- if ptr == std::ptr::null() {
- return None;
+ if !ptr.is_null() {
+ Some(CStr::from_ptr(ptr))
+ } else {
+ None
}
- Some(CStr::from_ptr(ptr))
}
}