1234567891011121314151617181920212223242526272829 |
- use libc::{c_char, c_int};
- use std::ffi::CString;
- extern "C" {
- fn tor_version_as_new_as(
- platform: *const c_char,
- cutoff: *const c_char,
- ) -> c_int;
- }
- /// Wrap calls to tor_version_as_new_as, defined in src/or/routerparse.c
- pub fn c_tor_version_as_new_as(platform: &str, cutoff: &str) -> bool {
- // CHK: These functions should log a warning if an error occurs. This
- // can be added when integration with tor's logger is added to rust
- let c_platform = match CString::new(platform) {
- Ok(n) => n,
- Err(_) => return false,
- };
- let c_cutoff = match CString::new(cutoff) {
- Ok(n) => n,
- Err(_) => return false,
- };
- let result: c_int;
- unsafe {
- result = tor_version_as_new_as(c_platform.as_ptr(), c_cutoff.as_ptr());
- result == 1
- }
- }
|