comparison src/protocols/oscar/rxqueue.c @ 10271:361c9170d8af

[gaim-migrate @ 11420] This is a better way to do the aim logout thing. I don't know why I did it the other way. That's a lie, I know why. It's because I'm dumb. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sat, 27 Nov 2004 16:09:31 +0000
parents 9cafe038c95e
children 751de30689ef
comparison
equal deleted inserted replaced
10270:e5451763f5b9 10271:361c9170d8af
100 * 0x02 | Sequence number, 2 bytes. 100 * 0x02 | Sequence number, 2 bytes.
101 * 0x04 | Number of data bytes that follow, 2 bytes. 101 * 0x04 | Number of data bytes that follow, 2 bytes.
102 */ 102 */
103 aim_bstream_init(&hdr, hdr_raw, sizeof(hdr_raw)); 103 aim_bstream_init(&hdr, hdr_raw, sizeof(hdr_raw));
104 if (aim_bstream_recv(&hdr, conn->fd, 6) < 6) { 104 if (aim_bstream_recv(&hdr, conn->fd, 6) < 6) {
105 aim_conn_close(sess, conn); 105 aim_conn_close(conn);
106 return -1; 106 return -1;
107 } 107 }
108 108
109 aim_bstream_rewind(&hdr); 109 aim_bstream_rewind(&hdr);
110 110
112 * This shouldn't happen unless the socket breaks, the server breaks, 112 * This shouldn't happen unless the socket breaks, the server breaks,
113 * or we break. We must handle it just in case. 113 * or we break. We must handle it just in case.
114 */ 114 */
115 if (aimbs_get8(&hdr) != 0x2a) { 115 if (aimbs_get8(&hdr) != 0x2a) {
116 faimdprintf(sess, 0, "Invalid FLAP frame received on FLAP connection!"); 116 faimdprintf(sess, 0, "Invalid FLAP frame received on FLAP connection!");
117 aim_conn_close(sess, conn); 117 aim_conn_close(conn);
118 return -1; 118 return -1;
119 } 119 }
120 120
121 fr->hdr.flap.channel = aimbs_get8(&hdr); 121 fr->hdr.flap.channel = aimbs_get8(&hdr);
122 fr->hdr.flap.seqnum = aimbs_get16(&hdr); 122 fr->hdr.flap.seqnum = aimbs_get16(&hdr);
140 /* 140 /*
141 * Read rendezvous header 141 * Read rendezvous header
142 */ 142 */
143 aim_bstream_init(&hdr, hdr_raw, sizeof(hdr_raw)); 143 aim_bstream_init(&hdr, hdr_raw, sizeof(hdr_raw));
144 if (aim_bstream_recv(&hdr, conn->fd, 8) < 8) { 144 if (aim_bstream_recv(&hdr, conn->fd, 8) < 8) {
145 aim_conn_close(sess, conn); 145 aim_conn_close(conn);
146 return -1; 146 return -1;
147 } 147 }
148 148
149 aim_bstream_rewind(&hdr); 149 aim_bstream_rewind(&hdr);
150 150
210 aim_bstream_init(&fr->data, payload, payloadlen); 210 aim_bstream_init(&fr->data, payload, payloadlen);
211 211
212 /* read the payload */ 212 /* read the payload */
213 if (aim_bstream_recv(&fr->data, conn->fd, payloadlen) < payloadlen) { 213 if (aim_bstream_recv(&fr->data, conn->fd, payloadlen) < payloadlen) {
214 aim_frame_destroy(fr); /* free's payload */ 214 aim_frame_destroy(fr); /* free's payload */
215 aim_conn_close(sess, conn); 215 aim_conn_close(conn);
216 return -1; 216 return -1;
217 } 217 }
218 } else 218 } else
219 aim_bstream_init(&fr->data, NULL, 0); 219 aim_bstream_init(&fr->data, NULL, 0);
220 220