--- a/libpurple/protocols/msn/directconn.c Wed May 05 07:32:45 2010 +0000 +++ b/libpurple/protocols/msn/directconn.c Wed May 05 07:33:55 2010 +0000 @@ -556,7 +556,7 @@ } bytes_to_send = p->length - dc->msg_pos; - bytes_sent = send(fd, p->data, bytes_to_send, 0); + bytes_sent = send(fd, p->data + dc->msg_pos, bytes_to_send, 0); if (bytes_sent < 0) { if ((errno == EAGAIN) || (errno == EWOULDBLOCK)) return;