From fcce5e9da081afd93a42f43fd22a7f49b4267067 Mon Sep 17 00:00:00 2001 From: Nick Thomas Date: Sat, 10 Apr 2021 18:23:04 +0100 Subject: [PATCH] purple: Add a way to specify the account has a password --- src/purple/account/mod.rs | 9 +++++++++ src/purple/loader.rs | 5 ++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/purple/account/mod.rs b/src/purple/account/mod.rs index 49ee60f..09aa9ea 100644 --- a/src/purple/account/mod.rs +++ b/src/purple/account/mod.rs @@ -41,6 +41,15 @@ impl Account { } } + pub fn get_password(&self) -> Option> { + let password_ptr = unsafe { purple_sys::purple_account_get_password(self.0) }; + if password_ptr.is_null() { + None + } else { + Some(unsafe { CStr::from_ptr(password_ptr) }.to_string_lossy()) + } + } + pub fn is_disconnected(&self) -> bool { let is_disconnected = unsafe { purple_sys::purple_account_is_disconnected(self.0) }; is_disconnected != 0 diff --git a/src/purple/loader.rs b/src/purple/loader.rs index 38b278c..36da635 100644 --- a/src/purple/loader.rs +++ b/src/purple/loader.rs @@ -44,9 +44,8 @@ impl

RegisterContext

{ // purple_sys defaults extra_info.options to contain: // OPT_PROTO_NO_PASSWORD | OPT_PROTO_IM_IMAGE | OPT_PROTO_CHAT_TOPIC // All we have to do is remove the no_password one. - self.extra_info.options = - purple_sys::PurpleProtocolOptions::OPT_PROTO_IM_IMAGE | - purple_sys::PurpleProtocolOptions::OPT_PROTO_CHAT_TOPIC; + self.extra_info.options = purple_sys::PurpleProtocolOptions::OPT_PROTO_IM_IMAGE + | purple_sys::PurpleProtocolOptions::OPT_PROTO_CHAT_TOPIC; self }