use std::ffi::c_char;
#[inline]
pub fn success(code: i32) -> bool {
code == 0
}
#[inline]
pub fn present(code: i32) -> bool {
code != 0
}
#[inline]
pub fn enabled(code: i32) -> bool {
code != 0
}
#[inline]
pub fn verification_passed(code: i32) -> bool {
code == 1
}
#[inline]
pub fn to_c_bool(value: bool) -> i32 {
if value {
1
} else {
0
}
}
#[inline]
pub fn to_c_result(success: bool) -> i32 {
if success {
0
} else {
1
}
}
pub unsafe fn to_string(c_str: *const c_char, len: usize) -> String {
if !c_str.is_null() {
let slice = std::slice::from_raw_parts(c_str as *const u8, len);
String::from_utf8_lossy(slice).into_owned()
} else {
"".to_string()
}
}