use std::path::{Path, MAIN_SEPARATOR};
use libc::c_char;
use std::ffi::{CStr, CString};
use std::str;
#[no_mangle]
pub extern fn add_trailing_separator(string: *const c_char) -> *const c_char {
let c_str = unsafe {
if string.is_null() {
return string;
}
CStr::from_ptr(string)
};
let r_str = str::from_utf8(c_str.to_bytes()).unwrap_or("");
if r_str.is_empty() {
return string;
}
let path = Path::new(r_str);
let out_str = if !(path.to_str().unwrap().chars().last().unwrap() == '/') {
format!("{}{}", path.to_str().unwrap(), MAIN_SEPARATOR)
} else {
path.to_str().unwrap().to_string()
};
let output = CString::new(out_str).unwrap();
output.into_raw()
}