From 788a8b7091bbdde77817030e0836d7a7a786fd99 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Sun, 4 May 2025 19:47:55 -0400 Subject: [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. --- rust/src/render_layer.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'rust/src/render_layer.rs') 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( applyToLinearViewObject: Some(cb_apply_to_linear_view_object::), 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(name: S) -> Option { 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) } -- cgit v1.3.1