diff options
| author | Mason Reed <mason@vector35.com> | 2025-05-04 19:47:55 -0400 |
|---|---|---|
| committer | Mason Reed <35282038+emesare@users.noreply.github.com> | 2025-05-12 17:45:24 -0400 |
| commit | 788a8b7091bbdde77817030e0836d7a7a786fd99 (patch) | |
| tree | 40e8f8d3c870788259a5acb5d14995cdc1656979 /rust/src/repository | |
| parent | a826c589dfc10c542deba7ca3343a462e02d6bde (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.rs | 18 |
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) }) } |
