From 6264254065bbae9d89f51cf3330379b7ace09592 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Sat, 3 May 2025 23:15:17 -0400 Subject: [Rust] Return `String` instead of `BnString` for cases where lossy conversion can be tolerated Still need to go and audit all usage, but realistically the most important places to give the user control are with symbols, where the data can come from non utf8 sources This is still incomplete, I just looked for usage of -> BnString so any other variant was omitted. --- rust/src/secrets_provider.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'rust/src/secrets_provider.rs') diff --git a/rust/src/secrets_provider.rs b/rust/src/secrets_provider.rs index e61cd466..5f42dbea 100644 --- a/rust/src/secrets_provider.rs +++ b/rust/src/secrets_provider.rs @@ -56,10 +56,10 @@ impl CoreSecretsProvider { NonNull::new(result).map(|h| unsafe { Self::from_raw(h) }) } - pub fn name(&self) -> BnString { + pub fn name(&self) -> String { let result = unsafe { BNGetSecretsProviderName(self.handle.as_ptr()) }; assert!(!result.is_null()); - unsafe { BnString::from_raw(result) } + unsafe { BnString::into_string(result) } } /// Check if data for a specific key exists, but do not retrieve it @@ -71,12 +71,12 @@ impl CoreSecretsProvider { } /// Retrieve data for the given key, if it exists - pub fn get_data(&self, key: S) -> BnString { + pub fn get_data(&self, key: S) -> String { let key = key.into_bytes_with_nul(); let result = unsafe { BNGetSecretsProviderData(self.handle.as_ptr(), key.as_ref().as_ptr() as *const c_char) }; - unsafe { BnString::from_raw(result) } + unsafe { BnString::into_string(result) } } /// Store data with the given key -- cgit v1.3.1