summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Atallah <datallah@pidgin.im>2007-09-21 03:24:29 +0000
committerDaniel Atallah <datallah@pidgin.im>2007-09-21 03:24:29 +0000
commit203630417e85581b6ed823db095860b772aa5429 (patch)
treee7c045ceddd6ff20b62e74c94fd2b409145ed58b
parentf9f02f12352126537954a955aec7d134cbd54698 (diff)
downloadpidgin-203630417e85581b6ed823db095860b772aa5429.tar.gz
Clear the password consistently when we get a "Signed-On elsewhere" or a "Invalid Password" disconnection. Disconnection reason codes will take care of this in the core, but until then, this is ok.
-rw-r--r--libpurple/protocols/myspace/myspace.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/libpurple/protocols/myspace/myspace.c b/libpurple/protocols/myspace/myspace.c
index 67aee40d25..c27b24362c 100644
--- a/libpurple/protocols/myspace/myspace.c
+++ b/libpurple/protocols/myspace/myspace.c
@@ -1784,14 +1784,13 @@ msim_error(MsimSession *session, MsimMessage *msg)
/* Destroy session if fatal. */
if (msim_msg_get(msg, "fatal")) {
purple_debug_info("msim", "fatal error, closing\n");
- if (err == 260) {
- /* Incorrect password */
- session->gc->wants_to_die = TRUE;
- if (!purple_account_get_remember_password(session->account))
- purple_account_set_password(session->account, NULL);
- } if (err == 6) {
- /* Logged in elsewhere */
- session->gc->wants_to_die = TRUE;
+ switch (err) {
+ case 260: /* Incorrect password */
+ case 6: /* Logged in elsewhere */
+ session->gc->wants_to_die = TRUE;
+ if (!purple_account_get_remember_password(session->account))
+ purple_account_set_password(session->account, NULL);
+ break;
}
purple_connection_error(session->gc, full_errmsg);
} else {