Mercurial > pidgin.yaz
diff libpurple/protocols/msn/slpcall.c @ 31599:34da321b60f1
Try to hide all P2P fields away behind accessor functions.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Thu, 20 Jan 2011 06:43:45 +0000 |
parents | 9ccbd0302bb2 |
children | eb1bbaae3427 |
line wrap: on
line diff
--- a/libpurple/protocols/msn/slpcall.c Thu Jan 20 06:41:34 2011 +0000 +++ b/libpurple/protocols/msn/slpcall.c Thu Jan 20 06:43:45 2011 +0000 @@ -1059,16 +1059,21 @@ MsnSlpCall *slpcall; const guchar *body; gsize body_len; + guint32 session_id; + guint32 flags; slpcall = NULL; body = slpmsg->buffer; - body_len = slpmsg->header->offset; + body_len = msn_p2p_info_get_offset(slpmsg->p2p_info); - if (slpmsg->header->flags == P2P_NO_FLAG || slpmsg->header->flags == P2P_WLM2009_COMP) + session_id = msn_p2p_info_get_session_id(slpmsg->p2p_info); + flags = msn_p2p_info_get_flags(slpmsg->p2p_info); + + if (flags == P2P_NO_FLAG || flags == P2P_WLM2009_COMP) { char *body_str; - if (slpmsg->header->session_id == 64) + if (session_id == 64) { /* This is for handwritten messages (Ink) */ GError *error = NULL; @@ -1125,9 +1130,9 @@ } g_free(body_str); } - else if (msn_p2p_msg_is_data(slpmsg->header->flags)) + else if (msn_p2p_msg_is_data(flags)) { - slpcall = msn_slplink_find_slp_call_with_session_id(slplink, slpmsg->header->session_id); + slpcall = msn_slplink_find_slp_call_with_session_id(slplink, session_id); if (slpcall != NULL) { @@ -1142,13 +1147,13 @@ slpcall->wasted = TRUE; } } - else if (slpmsg->header->flags == P2P_ACK) + else if (flags == P2P_ACK) { /* Acknowledgement of previous message. Don't do anything currently. */ } else purple_debug_warning("msn", "Unprocessed SLP message with flags 0x%04x\n", - slpmsg->header->flags); + flags); return slpcall; }