Proc macro preparation
This commit is contained in:
14
simconnect-sdk/src/helpers.rs
Normal file
14
simconnect-sdk/src/helpers.rs
Normal file
@@ -0,0 +1,14 @@
|
||||
use std::ffi::CString;
|
||||
|
||||
pub fn fixed_c_str_to_string(data: &[i8]) -> String {
|
||||
let u8slice = unsafe { &*(data as *const _ as *const [u8]) };
|
||||
|
||||
let mut value = u8slice.to_vec();
|
||||
|
||||
let pos = value.iter().position(|c| *c == 0).unwrap_or(value.len());
|
||||
|
||||
value.truncate(pos);
|
||||
let icao = unsafe { CString::from_vec_unchecked(value) };
|
||||
|
||||
icao.to_str().unwrap().to_string()
|
||||
}
|
Reference in New Issue
Block a user