--- a/libpurple/protocols/msn/directconn.c Wed Nov 12 19:15:24 2014 -0500 +++ b/libpurple/protocols/msn/directconn.c Thu Nov 13 00:56:55 2014 -0500 @@ -406,7 +406,7 @@ dc->progress = TRUE; dc->msg_pos += bytes_sent; - if (dc->msg_pos == p->length) { + if ((guint32)dc->msg_pos == p->length) { if (p->sent_cb != NULL) p->sent_cb(p); @@ -671,7 +671,7 @@ } /* Wait for the whole packet to arrive */ - if (dc->in_pos < 4 + packet_length) + if ((guint32)dc->in_pos < 4 + packet_length) return; switch (msn_dc_process_packet(dc, packet_length)) { @@ -685,7 +685,7 @@ } - if (dc->in_pos > packet_length + 4) { + if ((guint32)dc->in_pos > packet_length + 4) { g_memmove(dc->in_buffer, dc->in_buffer + 4 + packet_length, dc->in_pos - packet_length - 4); }