libgaim/protocols/oscar/odc.c

changeset 15151
bb985812fefa
parent 14464
b7bca43f75b3
child 20471
1966704b3e42
equal deleted inserted replaced
15150:c218efb19164 15151:bb985812fefa
94 username = gaim_account_get_username(account); 94 username = gaim_account_get_username(account);
95 memcpy(frame->sn, username, strlen(username)); 95 memcpy(frame->sn, username, strlen(username));
96 memcpy(frame->cookie, conn->cookie, 8); 96 memcpy(frame->cookie, conn->cookie, 8);
97 97
98 length = 76; 98 length = 76;
99 byte_stream_init(&bs, malloc(length + frame->payload.len), 99 byte_stream_new(&bs, length + frame->payload.len);
100 length + frame->payload.len);
101 byte_stream_putraw(&bs, conn->magic, 4); 100 byte_stream_putraw(&bs, conn->magic, 4);
102 byte_stream_put16(&bs, length); 101 byte_stream_put16(&bs, length);
103 byte_stream_put16(&bs, frame->type); 102 byte_stream_put16(&bs, frame->type);
104 byte_stream_put16(&bs, frame->subtype); 103 byte_stream_put16(&bs, frame->subtype);
105 byte_stream_put16(&bs, 0x0000); 104 byte_stream_put16(&bs, 0x0000);
118 byte_stream_putraw(&bs, frame->sn, 32); 117 byte_stream_putraw(&bs, frame->sn, 32);
119 byte_stream_putraw(&bs, frame->payload.data, frame->payload.len); 118 byte_stream_putraw(&bs, frame->payload.data, frame->payload.len);
120 119
121 peer_connection_send(conn, &bs); 120 peer_connection_send(conn, &bs);
122 121
123 free(bs.data); 122 g_free(bs.data);
124 } 123 }
125 124
126 /** 125 /**
127 * Send a very basic ODC frame (which contains the cookie) so that the 126 * Send a very basic ODC frame (which contains the cookie) so that the
128 * remote user can verify that we are the person they were expecting. 127 * remote user can verify that we are the person they were expecting.
186 frame.type = 0x0001; 185 frame.type = 0x0001;
187 frame.subtype = 0x0006; 186 frame.subtype = 0x0006;
188 frame.payload.len = len; 187 frame.payload.len = len;
189 frame.encoding = encoding; 188 frame.encoding = encoding;
190 frame.flags = autoreply; 189 frame.flags = autoreply;
191 byte_stream_init(&frame.payload, malloc(len), len); 190 byte_stream_new(&frame.payload, len);
192 byte_stream_putraw(&frame.payload, (guint8 *)msg, len); 191 byte_stream_putraw(&frame.payload, (guint8 *)msg, len);
193 192
194 peer_odc_send(conn, &frame); 193 peer_odc_send(conn, &frame);
195 194
196 g_free(frame.payload.data); 195 g_free(frame.payload.data);

mercurial