cassandra_cpp_sys/
ffi_util.rs1use cassandra::cass_bool_t;
2use std::slice;
3use std::str;
4
5use std::str::Utf8Error;
6
7pub unsafe fn raw2utf8(
14 data: *const ::std::os::raw::c_char,
15 length: usize,
16) -> Result<String, Utf8Error> {
17 let slice = slice::from_raw_parts(data as *const u8, length as usize);
18 Ok(str::from_utf8(slice)?.to_owned())
19}
20
21impl From<cass_bool_t> for bool {
22 fn from(b: cass_bool_t) -> Self {
23 match b {
24 cass_bool_t::cass_true => true,
25 cass_bool_t::cass_false => false,
26 }
27 }
28}
29
30impl From<bool> for cass_bool_t {
31 fn from(b: bool) -> Self {
32 if b {
33 cass_bool_t::cass_true
34 } else {
35 cass_bool_t::cass_false
36 }
37 }
38}