summaryrefslogtreecommitdiff
path: root/rust/src/architecture.rs
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/architecture.rs
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/architecture.rs')
-rw-r--r--rust/src/architecture.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/rust/src/architecture.rs b/rust/src/architecture.rs
index 74a8dfa4..62693800 100644
--- a/rust/src/architecture.rs
+++ b/rust/src/architecture.rs
@@ -1404,7 +1404,8 @@ impl CoreArchitecture {
}
pub fn by_name(name: &str) -> Option<Self> {
- let handle = unsafe { BNGetArchitectureByName(name.to_cstr().as_ptr() as *mut _) };
+ let name = name.to_cstr();
+ let handle = unsafe { BNGetArchitectureByName(name.as_ptr()) };
match handle.is_null() {
false => Some(CoreArchitecture { handle }),
true => None,
@@ -1955,9 +1956,7 @@ pub trait ArchitectureExt: Architecture {
fn register_by_name<S: AsCStr>(&self, name: S) -> Option<Self::Register> {
let name = name.to_cstr();
- match unsafe {
- BNGetArchitectureRegisterByName(self.as_ref().handle, name.as_ref().as_ptr() as *mut _)
- } {
+ match unsafe { BNGetArchitectureRegisterByName(self.as_ref().handle, name.as_ptr()) } {
0xffff_ffff => None,
reg => self.register_from_id(reg.into()),
}
@@ -3220,8 +3219,7 @@ where
};
unsafe {
- let res =
- BNRegisterArchitecture(name.as_ref().as_ptr() as *mut _, &mut custom_arch as *mut _);
+ let res = BNRegisterArchitecture(name.as_ptr(), &mut custom_arch as *mut _);
assert!(!res.is_null());