comparison libfaim/aim_rxqueue.c @ 829:9a123b171f46

[gaim-migrate @ 839] yay. i have a secret. but basically this should fix most outstanding libfaim issues in gaim. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Sat, 02 Sep 2000 02:41:57 +0000
parents 6e318907bcce
children 88f8f98de02d
comparison
equal deleted inserted replaced
828:4c71c0e7f04e 829:9a123b171f46
39 * 1 char -- Channel ID. Usually 2 -- 1 and 4 are used during login. 39 * 1 char -- Channel ID. Usually 2 -- 1 and 4 are used during login.
40 * 2 short -- Sequence number 40 * 2 short -- Sequence number
41 * 4 short -- Number of data bytes that follow. 41 * 4 short -- Number of data bytes that follow.
42 */ 42 */
43 faim_mutex_lock(&conn->active); 43 faim_mutex_lock(&conn->active);
44 if (read(conn->fd, generic, 6) < 6){ 44 if (recv(conn->fd, generic, 6, MSG_WAITALL) < 6){
45 printf("faim: flap: read underflow (header)\n");
45 aim_conn_close(conn); 46 aim_conn_close(conn);
46 faim_mutex_unlock(&conn->active); 47 faim_mutex_unlock(&conn->active);
47 return -1; 48 return -1;
48 } 49 }
49 50
87 faim_mutex_unlock(&conn->active); 88 faim_mutex_unlock(&conn->active);
88 return -1; 89 return -1;
89 } 90 }
90 91
91 /* read the data portion of the packet */ 92 /* read the data portion of the packet */
92 if (read(conn->fd, newrx->data, newrx->commandlen) < newrx->commandlen){ 93 if (recv(conn->fd, newrx->data, newrx->commandlen, MSG_WAITALL) < newrx->commandlen){
94 printf("faim: flap: read underflow (payload)\n");
93 free(newrx->data); 95 free(newrx->data);
94 free(newrx); 96 free(newrx);
95 aim_conn_close(conn); 97 aim_conn_close(conn);
96 faim_mutex_unlock(&conn->active); 98 faim_mutex_unlock(&conn->active);
97 return -1; 99 return -1;