Mercurial > pidgin
comparison libpurple/protocols/msn/directconn.c @ 30858: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 |
comparison
equal
deleted
inserted
replaced
30857:1ded0bc5c911 | 30858:2d00d29a45fd |
---|---|
589 } | 589 } |
590 | 590 |
591 static int | 591 static int |
592 msn_dc_process_packet(MsnDirectConn *dc, guint32 packet_length) | 592 msn_dc_process_packet(MsnDirectConn *dc, guint32 packet_length) |
593 { | 593 { |
594 MsnSlpMessagePart *part; | |
595 | |
594 g_return_val_if_fail(dc != NULL, DC_PROCESS_ERROR); | 596 g_return_val_if_fail(dc != NULL, DC_PROCESS_ERROR); |
595 | 597 |
596 switch (dc->state) { | 598 switch (dc->state) { |
597 case DC_STATE_CLOSED: | 599 case DC_STATE_CLOSED: |
598 break; | 600 break; |
625 msn_slpcall_session_init(dc->slpcall); | 627 msn_slpcall_session_init(dc->slpcall); |
626 dc->slpcall = NULL; | 628 dc->slpcall = NULL; |
627 break; | 629 break; |
628 | 630 |
629 case DC_STATE_ESTABLISHED: | 631 case DC_STATE_ESTABLISHED: |
630 msn_slplink_process_msg( | 632 |
631 dc->slplink, | 633 part = msn_slpmsgpart_new_from_data(dc->in_buffer, dc->header.length); |
632 &dc->header, | 634 msn_slplink_process_msg(dc->slplink, part); |
633 dc->in_buffer + 4 + P2P_PACKET_HEADER_SIZE, | |
634 dc->header.length | |
635 ); | |
636 | 635 |
637 /* | 636 /* |
638 if (dc->num_calls == 0) { | 637 if (dc->num_calls == 0) { |
639 msn_dc_destroy(dc); | 638 msn_dc_destroy(dc); |
640 | 639 |