# HG changeset patch # User Elliott Sales de Andrade # Date 1328251696 0 # Node ID c281394e199d3669b8ad91e4ab9bed6d83cb7a82 # Parent 8201084ec6afcd24ceeb731f1af35e6c06a3aaa7 Update UUM to allow sending to users on any network. diff -r 8201084ec6af -r c281394e199d libpurple/protocols/msn/notification.c --- a/libpurple/protocols/msn/notification.c Fri Feb 03 06:40:25 2012 +0000 +++ b/libpurple/protocols/msn/notification.c Fri Feb 03 06:48:16 2012 +0000 @@ -359,23 +359,34 @@ /*send Message to Yahoo Messenger*/ void -msn_notification_send_uum(MsnSession *session,MsnMessage *msg) +msn_notification_send_uum(MsnSession *session, MsnMessage *msg) { MsnCmdProc *cmdproc; MsnTransaction *trans; char *payload; gsize payload_len; int type; + MsnUser *user; + int network; + + g_return_if_fail(msg != NULL); cmdproc = session->notification->cmdproc; - g_return_if_fail(msg != NULL); + payload = msn_message_gen_payload(msg, &payload_len); + type = msg->type; + user = msn_userlist_find_user(session->userlist, msg->remote_user); + if (user) + network = msn_user_get_network(user); + else + network = MSN_NETWORK_PASSPORT; + purple_debug_info("msn", "send UUM, payload{%s}, strlen:%" G_GSIZE_FORMAT ", len:%" G_GSIZE_FORMAT "\n", payload, strlen(payload), payload_len); - type = msg->type; - trans = msn_transaction_new(cmdproc, "UUM", "%s 32 %d %" G_GSIZE_FORMAT, - msg->remote_user, type, payload_len); + + trans = msn_transaction_new(cmdproc, "UUM", "%s %d %d %" G_GSIZE_FORMAT, + msg->remote_user, network, type, payload_len); msn_transaction_set_payload(trans, payload, strlen(payload)); msn_cmdproc_send_trans(cmdproc, trans); }