diff libpurple/protocols/msn/directconn.c @ 31296:2d00d29a45fd

Process SlpMessageParts, a sequence of parts will generate a SlpMessage.
author masca@cpw.pidgin.im
date Thu, 29 Jul 2010 00:12:54 +0000
parents c7fa7c7aca7d
children b9c80d9c2ae5
line wrap: on
line diff
--- a/libpurple/protocols/msn/directconn.c	Wed Jul 28 20:35:28 2010 +0000
+++ b/libpurple/protocols/msn/directconn.c	Thu Jul 29 00:12:54 2010 +0000
@@ -591,6 +591,8 @@
 static int
 msn_dc_process_packet(MsnDirectConn *dc, guint32 packet_length)
 {
+	MsnSlpMessagePart *part;
+
 	g_return_val_if_fail(dc != NULL, DC_PROCESS_ERROR);
 
 	switch (dc->state) {
@@ -627,12 +629,9 @@
 		break;
 
 	case DC_STATE_ESTABLISHED:
-		msn_slplink_process_msg(
-			dc->slplink,
-			&dc->header,
-			dc->in_buffer + 4 + P2P_PACKET_HEADER_SIZE,
-			dc->header.length
-		);
+
+		part = msn_slpmsgpart_new_from_data(dc->in_buffer, dc->header.length);
+		msn_slplink_process_msg(dc->slplink, part);
 
 		/*
 		if (dc->num_calls == 0) {