about summary refs log tree commit diff stats
path: root/src/config/accounts.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/accounts.c')
-rw-r--r--src/config/accounts.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/config/accounts.c b/src/config/accounts.c
index b5e27127..175cac5f 100644
--- a/src/config/accounts.c
+++ b/src/config/accounts.c
@@ -441,6 +441,24 @@ _accounts_clear_password(const char * const account_name)
 }
 
 static void
+_accounts_clear_server(const char * const account_name)
+{
+    if (accounts_account_exists(account_name)) {
+        g_key_file_remove_key(accounts, account_name, "server", NULL);
+        _save_accounts();
+    }
+}
+
+static void
+_accounts_clear_port(const char * const account_name)
+{
+    if (accounts_account_exists(account_name)) {
+        g_key_file_remove_key(accounts, account_name, "port", NULL);
+        _save_accounts();
+    }
+}
+
+static void
 _accounts_clear_otr(const char * const account_name)
 {
     if (accounts_account_exists(account_name)) {
@@ -869,6 +887,8 @@ accounts_init_module(void)
     accounts_set_priority_all = _accounts_set_priority_all;
     accounts_get_priority_for_presence_type = _accounts_get_priority_for_presence_type;
     accounts_clear_password = _accounts_clear_password;
+    accounts_clear_server = _accounts_clear_server;
+    accounts_clear_port = _accounts_clear_port;
     accounts_clear_otr = _accounts_clear_otr;
     accounts_add_otr_policy = _accounts_add_otr_policy;
 }