summaryrefslogtreecommitdiff
path: root/rust/src/secrets_provider.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/secrets_provider.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/secrets_provider.rs')
-rw-r--r--rust/src/secrets_provider.rs27
1 files changed, 6 insertions, 21 deletions
diff --git a/rust/src/secrets_provider.rs b/rust/src/secrets_provider.rs
index 7acf6d4b..7a807300 100644
--- a/rust/src/secrets_provider.rs
+++ b/rust/src/secrets_provider.rs
@@ -37,7 +37,7 @@ impl CoreSecretsProvider {
deleteData: Some(cb_delete_data::<C>),
};
let result =
- unsafe { BNRegisterSecretsProvider(name.as_ptr() as *const c_char, &mut callbacks) };
+ unsafe { BNRegisterSecretsProvider(name.as_ptr(), &mut callbacks) };
unsafe { Self::from_raw(NonNull::new(result).unwrap()) }
}
@@ -52,7 +52,7 @@ impl CoreSecretsProvider {
/// Retrieve a provider by name
pub fn by_name<S: AsCStr>(name: S) -> Option<CoreSecretsProvider> {
let name = name.to_cstr();
- let result = unsafe { BNGetSecretsProviderByName(name.as_ref().as_ptr() as *const c_char) };
+ let result = unsafe { BNGetSecretsProviderByName(name.as_ptr()) };
NonNull::new(result).map(|h| unsafe { Self::from_raw(h) })
}
@@ -65,17 +65,13 @@ impl CoreSecretsProvider {
/// Check if data for a specific key exists, but do not retrieve it
pub fn has_data<S: AsCStr>(&self, key: S) -> bool {
let key = key.to_cstr();
- unsafe {
- BNSecretsProviderHasData(self.handle.as_ptr(), key.as_ref().as_ptr() as *const c_char)
- }
+ unsafe { BNSecretsProviderHasData(self.handle.as_ptr(), key.as_ptr()) }
}
/// Retrieve data for the given key, if it exists
pub fn get_data<S: AsCStr>(&self, key: S) -> String {
let key = key.to_cstr();
- let result = unsafe {
- BNGetSecretsProviderData(self.handle.as_ptr(), key.as_ref().as_ptr() as *const c_char)
- };
+ let result = unsafe { BNGetSecretsProviderData(self.handle.as_ptr(), key.as_ptr()) };
unsafe { BnString::into_string(result) }
}
@@ -83,24 +79,13 @@ impl CoreSecretsProvider {
pub fn store_data<K: AsCStr, V: AsCStr>(&self, key: K, value: V) -> bool {
let key = key.to_cstr();
let value = value.to_cstr();
- unsafe {
- BNStoreSecretsProviderData(
- self.handle.as_ptr(),
- key.as_ref().as_ptr() as *const c_char,
- value.as_ref().as_ptr() as *const c_char,
- )
- }
+ unsafe { BNStoreSecretsProviderData(self.handle.as_ptr(), key.as_ptr(), value.as_ptr()) }
}
/// Delete stored data with the given key
pub fn delete_data<S: AsCStr>(&self, key: S) -> bool {
let key = key.to_cstr();
- unsafe {
- BNDeleteSecretsProviderData(
- self.handle.as_ptr(),
- key.as_ref().as_ptr() as *const c_char,
- )
- }
+ unsafe { BNDeleteSecretsProviderData(self.handle.as_ptr(), key.as_ptr()) }
}
}