summaryrefslogtreecommitdiff
path: root/rust/src/repository
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-05-04 19:47:55 -0400
committerMason Reed <35282038+emesare@users.noreply.github.com>2025-05-12 17:45:24 -0400
commit788a8b7091bbdde77817030e0836d7a7a786fd99 (patch)
tree40e8f8d3c870788259a5acb5d14995cdc1656979 /rust/src/repository
parenta826c589dfc10c542deba7ca3343a462e02d6bde (diff)
[Rust] Simplify usage surrounding c strings
`cstring.as_ref().as_ptr() as *const c_char` -> `cstring.as_ptr()` `cstring.as_ref().as_ptr() as *mut _` -> `cstring.as_ptr()` `cstring.as_ptr() as *const c_char` -> `cstring.as_ptr()` With a few fixes for cstrings that might be dropped prematurely.
Diffstat (limited to 'rust/src/repository')
-rw-r--r--rust/src/repository/manager.rs18
1 files changed, 4 insertions, 14 deletions
diff --git a/rust/src/repository/manager.rs b/rust/src/repository/manager.rs
index e5911802..29c73605 100644
--- a/rust/src/repository/manager.rs
+++ b/rust/src/repository/manager.rs
@@ -7,7 +7,6 @@ use binaryninjacore_sys::{
BNRepositoryManagerAddRepository, BNRepositoryManagerCheckForUpdates,
BNRepositoryManagerGetDefaultRepository, BNRepositoryManagerGetRepositories,
};
-use std::ffi::c_char;
use std::fmt::Debug;
use std::ptr::NonNull;
@@ -31,8 +30,7 @@ impl RepositoryManager {
pub fn new<S: AsCStr>(plugins_path: S) -> Ref<Self> {
let plugins_path = plugins_path.to_cstr();
- let result =
- unsafe { BNCreateRepositoryManager(plugins_path.as_ref().as_ptr() as *const c_char) };
+ let result = unsafe { BNCreateRepositoryManager(plugins_path.as_ptr()) };
unsafe { Self::ref_from_raw(NonNull::new(result).unwrap()) }
}
@@ -65,22 +63,14 @@ impl RepositoryManager {
let url = url.to_cstr();
let repo_path = repository_path.to_cstr();
unsafe {
- BNRepositoryManagerAddRepository(
- self.handle.as_ptr(),
- url.as_ref().as_ptr() as *const c_char,
- repo_path.as_ref().as_ptr() as *const c_char,
- )
+ BNRepositoryManagerAddRepository(self.handle.as_ptr(), url.as_ptr(), repo_path.as_ptr())
}
}
pub fn repository_by_path<P: AsCStr>(&self, path: P) -> Option<Repository> {
let path = path.to_cstr();
- let result = unsafe {
- BNRepositoryGetRepositoryByPath(
- self.handle.as_ptr(),
- path.as_ref().as_ptr() as *const c_char,
- )
- };
+ let result =
+ unsafe { BNRepositoryGetRepositoryByPath(self.handle.as_ptr(), path.as_ptr()) };
NonNull::new(result).map(|raw| unsafe { Repository::from_raw(raw) })
}