From 1a30ee15e04bdd950bdab94e2d5e7b6e86c7e7c5 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 27 Jan 2013 00:02:28 +0000 Subject: Added resource handling in account module Handle old accounts on load --- src/accounts.c | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) (limited to 'src/accounts.c') diff --git a/src/accounts.c b/src/accounts.c index f15d02c0..2ada2fad 100644 --- a/src/accounts.c +++ b/src/accounts.c @@ -62,7 +62,33 @@ accounts_load(void) if (g_key_file_get_boolean(accounts, jids[i], "enabled", NULL)) { autocomplete_add(enabled_ac, strdup(jids[i])); } + + // fix old style accounts (no jid, or resource setting) + char *barejid = jids[i]; + char *resource = NULL; + Jid *jid = jid_create(jids[i]); + if (jid != NULL) { + barejid = jid->barejid; + resource = jid->resourcepart; + } + + if (!g_key_file_has_key(accounts, jids[i], "jid", NULL)) { + g_key_file_set_string(accounts, jids[i], "jid", barejid); + _save_accounts(); + } + if (!g_key_file_has_key(accounts, jids[i], "resource", NULL)) { + if (resource != NULL) { + g_key_file_set_string(accounts, jids[i], "resource", resource); + } else { + g_key_file_set_string(accounts, jids[i], "resource", "profanity"); + } + + _save_accounts(); + } + autocomplete_add(all_ac, strdup(jids[i])); + + jid_destroy(jid); } for (i = 0; i < njids; i++) { @@ -133,16 +159,6 @@ accounts_add_login(const char *account_name, const char *altdomain) _save_accounts(); autocomplete_add(all_ac, strdup(account_name)); autocomplete_add(enabled_ac, strdup(account_name)); - - // already exists, update old style accounts - } else { - g_key_file_set_string(accounts, account_name, "jid", barejid); - if (resource != NULL) { - g_key_file_set_string(accounts, account_name, "resource", resource); - } else { - g_key_file_set_string(accounts, account_name, "resource", "profanity"); - } - _save_accounts(); } jid_destroy(jid); -- cgit 1.4.1-2-gfad0 ='qt'>
path: root/prototypes/browse/27/README.md
blob: 09813c5784b1c16c8583979249b328a9ca7f52f4 (plain) (blame)
1