diff options
| author | KyleMiles <krm504@nyu.edu> | 2021-01-21 18:35:20 +0000 |
|---|---|---|
| committer | KyleMiles <krm504@nyu.edu> | 2021-01-21 19:07:07 +0000 |
| commit | 2fcacc55d5466a7d17bdc0b3ce988772aa6d0653 (patch) | |
| tree | 9d0f2ba19117843575936f2b93e0b6a578a84dc8 /rust/src/headless.rs | |
| parent | a0da07c5c2860a5bd69921d38e438bbc1d43912f (diff) | |
cargo fmt and all my changes
Diffstat (limited to 'rust/src/headless.rs')
| -rw-r--r-- | rust/src/headless.rs | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/rust/src/headless.rs b/rust/src/headless.rs index e6b7c51c..f7b9f16d 100644 --- a/rust/src/headless.rs +++ b/rust/src/headless.rs @@ -1,15 +1,29 @@ +// Copyright 2021 Vector 35 Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + use std::env; +use std::ffi::{CStr, CString, OsStr}; use std::mem; use std::os::raw; -use std::ffi::{OsStr, CString, CStr}; use std::path::PathBuf; #[repr(C)] struct DlInfo { - dli_fname: *const raw::c_char, - dli_fbase: *mut raw::c_void, - dli_sname: *const raw::c_char, - dli_saddr: *mut raw::c_void + dli_fname: *const raw::c_char, + dli_fbase: *mut raw::c_void, + dli_sname: *const raw::c_char, + dli_saddr: *mut raw::c_void, } #[cfg(not(target_os = "windows"))] @@ -20,12 +34,12 @@ fn binja_path() -> PathBuf { return PathBuf::from(p); } - extern { + extern "C" { fn dladdr(addr: *mut raw::c_void, info: *mut DlInfo) -> raw::c_int; } - + unsafe { - let mut info: DlInfo = mem::uninitialized(); + let mut info: DlInfo = mem::zeroed(); if dladdr(BNSetBundledPluginDirectory as *mut _, &mut info) == 0 { panic!("Failed to find libbinaryninjacore path!"); @@ -44,16 +58,14 @@ fn binja_path() -> PathBuf { } } - #[cfg(target_os = "windows")] fn binja_path() -> PathBuf { PathBuf::from(env::var("PROGRAMFILES").unwrap()).join("Vector35\\BinaryNinja\\") } -use binaryninjacore_sys::{BNSetBundledPluginDirectory, - BNInitCorePlugins, - BNInitUserPlugins, - BNInitRepoPlugins}; +use binaryninjacore_sys::{ + BNInitCorePlugins, BNInitRepoPlugins, BNInitUserPlugins, BNSetBundledPluginDirectory, +}; pub fn init() { unsafe { |
