From a826c589dfc10c542deba7ca3343a462e02d6bde Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Sun, 4 May 2025 19:10:56 -0400 Subject: [Rust] Simplify `BnStrCompatible` trait Followup to https://github.com/Vector35/binaryninja-api/pull/5897/ This simplifies usage of the trait in user code, should just be able to `to_cstr` to get the cstr repr and then call `as_ptr`. Co-authored-by: Michael Krasnitski --- rust/src/data_buffer.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'rust/src/data_buffer.rs') diff --git a/rust/src/data_buffer.rs b/rust/src/data_buffer.rs index 460bb94d..a163d346 100644 --- a/rust/src/data_buffer.rs +++ b/rust/src/data_buffer.rs @@ -19,7 +19,7 @@ use binaryninjacore_sys::*; use std::ffi::c_void; use std::slice; -use crate::string::BnString; +use crate::string::{AsCStr, BnString}; pub struct DataBuffer(*mut BNDataBuffer); @@ -128,8 +128,9 @@ impl DataBuffer { unsafe { BnString::into_string(BNDataBufferToBase64(self.0)) } } - pub fn from_base64(value: &BnString) -> Self { - Self(unsafe { BNDecodeBase64(value.as_ptr()) }) + pub fn from_base64(value: &str) -> Self { + let t = value.to_cstr(); + Self(unsafe { BNDecodeBase64(t.as_ptr()) }) } pub fn zlib_compress(&self) -> Self { -- cgit v1.3.1