Mercurial > pidgin.yaz
diff libpurple/protocols/msn/switchboard.c @ 31095:e30865b62859
Initial support for msnp16, based on patch by Masca.
References #8247.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Tue, 01 Dec 2009 22:13:30 +0000 |
parents | dda434352a35 |
children | 88a3135c5a23 |
line wrap: on
line diff
--- a/libpurple/protocols/msn/switchboard.c Mon Nov 30 05:59:57 2009 +0000 +++ b/libpurple/protocols/msn/switchboard.c Tue Dec 01 22:13:30 2009 +0000 @@ -949,6 +949,7 @@ MsnTransaction *trans; MsnCmdProc *cmdproc; PurpleAccount *account; + char *username; cmdproc = servconn->cmdproc; g_return_if_fail(cmdproc != NULL); @@ -957,24 +958,33 @@ swboard = cmdproc->data; g_return_if_fail(swboard != NULL); + if (servconn->session->protocol_ver >= 16) + username = g_strdup(purple_account_get_username(account)); + else + username = g_strdup_printf("%s;{%s}", + purple_account_get_username(account), + servconn->session->guid); + if (msn_switchboard_is_invited(swboard)) { swboard->empty = FALSE; trans = msn_transaction_new(cmdproc, "ANS", "%s %s %s", - purple_account_get_username(account), + username, swboard->auth_key, swboard->session_id); } else { trans = msn_transaction_new(cmdproc, "USR", "%s %s", - purple_account_get_username(account), + username, swboard->auth_key); } msn_transaction_set_error_cb(trans, ans_usr_error); msn_transaction_set_data(trans, swboard); msn_cmdproc_send_trans(cmdproc, trans); + + g_free(username); } static void