summaryrefslogtreecommitdiff
path: root/rust/src/headless.rs
diff options
context:
space:
mode:
authorKyleMiles <krm504@nyu.edu>2021-01-21 18:35:20 +0000
committerKyleMiles <krm504@nyu.edu>2021-01-21 19:07:07 +0000
commit2fcacc55d5466a7d17bdc0b3ce988772aa6d0653 (patch)
tree9d0f2ba19117843575936f2b93e0b6a578a84dc8 /rust/src/headless.rs
parenta0da07c5c2860a5bd69921d38e438bbc1d43912f (diff)
cargo fmt and all my changes
Diffstat (limited to 'rust/src/headless.rs')
-rw-r--r--rust/src/headless.rs38
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 {