Mercurial > pidgin
diff src/protocols/msn/notification.c @ 5372:fa0217bec87e
[gaim-migrate @ 5748]
The mobile state should now reflect the server under all cases.
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Wed, 14 May 2003 07:50:26 +0000 |
| parents | 379beab3d157 |
| children | 0436e39c70cf |
line wrap: on
line diff
--- a/src/protocols/msn/notification.c Wed May 14 07:24:56 2003 +0000 +++ b/src/protocols/msn/notification.c Wed May 14 07:50:26 2003 +0000 @@ -433,9 +433,7 @@ { MsnSession *session = servconn->session; struct gaim_connection *gc = session->account->gc; - struct buddy *b; const char *passport, *type, *value; - int status = 0; MsnUser *user; passport = params[1]; @@ -445,18 +443,10 @@ user = msn_users_find_with_passport(session->users, passport); if (value != NULL) { - if (!strcmp(type, "MOB")) { - if ((b = gaim_find_buddy(gc->account, passport)) != NULL) { - if (GAIM_BUDDY_IS_ONLINE(b)) { - if (!strcmp(value, "Y")) - status = (b->uc | (1 << 5)); - else if (!strcmp(value, "N")) - status = (b->uc ^ (1 << 5)); - - serv_got_update(gc, (char *)passport, 1, 0, 0, 0, status); - } - } - } + if (!strcmp(type, "MOB")) + user->mobile = (!strcmp(value, "Y")); + else if (!strcmp(type, "MBE")) + user->allow_pages = (!strcmp(value, "Y")); else if (!strcmp(type, "PHH")) msn_user_set_home_phone(user, msn_url_decode(value)); else if (!strcmp(type, "PHW")) @@ -465,6 +455,15 @@ msn_user_set_mobile_phone(user, msn_url_decode(value)); } + if (!strcmp(type, "MOB") || !strcmp(type, "MBE")) { + struct buddy *b; + + if ((b = gaim_find_buddy(gc->account, passport)) != NULL) { + if (GAIM_BUDDY_IS_ONLINE(b)) + serv_got_update(gc, (char *)passport, 1, 0, 0, 0, b->uc); + } + } + return TRUE; } @@ -669,7 +668,7 @@ while (session->lists.forward != NULL) { MsnUser *user = session->lists.forward->data; struct buddy *b; - + b = gaim_find_buddy(gc->account, msn_user_get_passport(user)); session->lists.forward = g_slist_remove(session->lists.forward, @@ -709,11 +708,11 @@ b = gaim_buddy_new(gc->account, msn_user_get_passport(user), NULL); - b->proto_data = user; - gaim_blist_add_buddy(b, g, NULL); } + b->proto_data = user; + serv_got_alias(gc, (char *)msn_user_get_passport(user), (char *)msn_user_get_name(user)); }
