1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
use std::path::MAIN_SEPARATOR;
use libc::c_char;
use std::ffi::{CStr};

#[no_mangle]
pub extern fn is_relative(path: *const c_char) -> bool {
  if path.is_null() {
    return false;
  }
  let r_str = unsafe { CStr::from_ptr(path) }.to_str().unwrap();

  match r_str.chars().next() {
    Some(c) => c != MAIN_SEPARATOR,
    None => true
  }
}