Mercurial > pidgin.yaz
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 |