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/database | |
| 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/database')
| -rw-r--r-- | rust/src/database/kvs.rs | 7 | ||||
| -rw-r--r-- | rust/src/database/snapshot.rs | 4 |
2 files changed, 5 insertions, 6 deletions
diff --git a/rust/src/database/kvs.rs b/rust/src/database/kvs.rs index 43cf17eb..e84da7f3 100644 --- a/rust/src/database/kvs.rs +++ b/rust/src/database/kvs.rs @@ -9,7 +9,6 @@ use binaryninjacore_sys::{ BNNewKeyValueStoreReference, BNSetKeyValueStoreBuffer, }; use std::collections::HashMap; -use std::ffi::c_char; use std::fmt::Debug; use std::ptr::NonNull; @@ -44,7 +43,7 @@ impl KeyValueStore { /// Get the value for a single key pub fn value<S: AsCStr>(&self, key: S) -> Option<DataBuffer> { let key_raw = key.to_cstr(); - let key_ptr = key_raw.as_ref().as_ptr() as *const c_char; + let key_ptr = key_raw.as_ptr(); let result = unsafe { BNGetKeyValueStoreBuffer(self.handle.as_ptr(), key_ptr) }; NonNull::new(result).map(|_| DataBuffer::from_raw(result)) } @@ -52,7 +51,7 @@ impl KeyValueStore { /// Set the value for a single key pub fn set_value<S: AsCStr>(&self, key: S, value: &DataBuffer) -> bool { let key_raw = key.to_cstr(); - let key_ptr = key_raw.as_ref().as_ptr() as *const c_char; + let key_ptr = key_raw.as_ptr(); unsafe { BNSetKeyValueStoreBuffer(self.handle.as_ptr(), key_ptr, value.as_raw()) } } @@ -66,7 +65,7 @@ impl KeyValueStore { /// Begin storing new keys into a namespace pub fn begin_namespace<S: AsCStr>(&self, name: S) { let name_raw = name.to_cstr(); - let name_ptr = name_raw.as_ref().as_ptr() as *const c_char; + let name_ptr = name_raw.as_ptr(); unsafe { BNBeginKeyValueStoreNamespace(self.handle.as_ptr(), name_ptr) } } diff --git a/rust/src/database/snapshot.rs b/rust/src/database/snapshot.rs index 7d7e39d1..599a749a 100644 --- a/rust/src/database/snapshot.rs +++ b/rust/src/database/snapshot.rs @@ -14,7 +14,7 @@ use binaryninjacore_sys::{ BNReadSnapshotDataWithProgress, BNSetSnapshotName, BNSnapshot, BNSnapshotHasAncestor, BNSnapshotHasContents, BNSnapshotHasUndo, BNSnapshotStoreData, }; -use std::ffi::{c_char, c_void}; +use std::ffi::c_void; use std::fmt; use std::fmt::{Debug, Display, Formatter}; use std::ptr::NonNull; @@ -52,7 +52,7 @@ impl Snapshot { /// Set the displayed snapshot name pub fn set_name<S: AsCStr>(&self, value: S) { let value_raw = value.to_cstr(); - let value_ptr = value_raw.as_ref().as_ptr() as *const c_char; + let value_ptr = value_raw.as_ptr(); unsafe { BNSetSnapshotName(self.handle.as_ptr(), value_ptr) } } |
