summaryrefslogtreecommitdiff
path: root/rust/src/render_layer.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/render_layer.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/render_layer.rs')
-rw-r--r--rust/src/render_layer.rs14
1 files changed, 5 insertions, 9 deletions
diff --git a/rust/src/render_layer.rs b/rust/src/render_layer.rs
index 175ee167..7d792491 100644
--- a/rust/src/render_layer.rs
+++ b/rust/src/render_layer.rs
@@ -8,7 +8,7 @@ use crate::linear_view::{LinearDisassemblyLine, LinearDisassemblyLineType, Linea
use crate::rc::{Array, CoreArrayProvider, CoreArrayProviderInner};
use crate::string::AsCStr;
use binaryninjacore_sys::*;
-use std::ffi::{c_char, c_void};
+use std::ffi::c_void;
use std::ptr::NonNull;
/// The state in which the [`RenderLayer`] will be registered with.
@@ -73,13 +73,9 @@ pub fn register_render_layer<S: AsCStr, T: RenderLayer>(
applyToLinearViewObject: Some(cb_apply_to_linear_view_object::<T>),
freeLines: Some(cb_free_lines),
};
- let result = unsafe {
- BNRegisterRenderLayer(
- name.to_cstr().as_ref().as_ptr() as *const _,
- &mut callback,
- default_state.into(),
- )
- };
+ let name = name.to_cstr();
+ let result =
+ unsafe { BNRegisterRenderLayer(name.as_ptr(), &mut callback, default_state.into()) };
let core = CoreRenderLayer::from_raw(NonNull::new(result).unwrap());
(render_layer, core)
}
@@ -305,7 +301,7 @@ impl CoreRenderLayer {
pub fn render_layer_by_name<S: AsCStr>(name: S) -> Option<CoreRenderLayer> {
let name_raw = name.to_cstr();
- let result = unsafe { BNGetRenderLayerByName(name_raw.as_ref().as_ptr() as *const c_char) };
+ let result = unsafe { BNGetRenderLayerByName(name_raw.as_ptr()) };
NonNull::new(result).map(Self::from_raw)
}