diff options
Diffstat (limited to 'src/accounts.c')
-rw-r--r-- | src/accounts.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/accounts.c b/src/accounts.c index 7454dfaa..286f135b 100644 --- a/src/accounts.c +++ b/src/accounts.c @@ -270,9 +270,15 @@ accounts_account_exists(const char * const account_name) void accounts_set_jid(const char * const account_name, const char * const value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "jid", value); - _save_accounts(); + Jid *jid = jid_create(value); + if (jid != NULL) { + if (accounts_account_exists(account_name)) { + g_key_file_set_string(accounts, account_name, "jid", jid->barejid); + if (jid->resourcepart != NULL) { + g_key_file_set_string(accounts, account_name, "resource", jid->resourcepart); + } + _save_accounts(); + } } } |