libpurple/protocols/zephyr/ZPeekPkt.c

changeset 40643
1c9bdf8d3e85
parent 40628
4266008a7791
equal deleted inserted replaced
40642:18050336a45f 40643:1c9bdf8d3e85
9 */ 9 */
10 10
11 #include "internal.h" 11 #include "internal.h"
12 12
13 Code_t 13 Code_t
14 ZPeekPacket(char **buffer, int *ret_len, struct sockaddr_in *from) 14 ZPeekPacket(char **buffer, int *ret_len, GSocketAddress **from)
15 { 15 {
16 Code_t retval; 16 Code_t retval;
17 Z_InputQ *nextq; 17 Z_InputQ *nextq;
18 18
19 if ((retval = Z_WaitForComplete()) != ZERR_NONE) 19 if ((retval = Z_WaitForComplete()) != ZERR_NONE)
26 if (!(*buffer = (char *) malloc((unsigned) *ret_len))) 26 if (!(*buffer = (char *) malloc((unsigned) *ret_len)))
27 return (ENOMEM); 27 return (ENOMEM);
28 28
29 (void) memcpy(*buffer, nextq->packet, *ret_len); 29 (void) memcpy(*buffer, nextq->packet, *ret_len);
30 30
31 if (from) 31 if (from) {
32 *from = nextq->from; 32 *from = g_object_ref(nextq->from);
33 }
33 34
34 return (ZERR_NONE); 35 return (ZERR_NONE);
35 } 36 }

mercurial