Mercurial > pidgin
diff libfaim/aim_rxhandlers.c @ 960:fa681641643d
[gaim-migrate @ 970]
*** MULTIPLE-CONNECTIONS ***
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Tue, 10 Oct 2000 00:02:02 +0000 |
parents | e18815f5a4e9 |
children | efcacae6acdb |
line wrap: on
line diff
--- a/libfaim/aim_rxhandlers.c Mon Oct 09 23:56:33 2000 +0000 +++ b/libfaim/aim_rxhandlers.c Tue Oct 10 00:02:02 2000 +0000 @@ -188,14 +188,15 @@ rxcallback_t newhandler, u_short flags) { - struct aim_rxcblist_t *newcb,*cur; + struct aim_rxcblist_t *newcb; if (!conn) return -1; faimdprintf(1, "aim_conn_addhandler: adding for %04x/%04x\n", family, type); - newcb = (struct aim_rxcblist_t *)calloc(1, sizeof(struct aim_rxcblist_t)); + if (!(newcb = (struct aim_rxcblist_t *)calloc(1, sizeof(struct aim_rxcblist_t)))) + return -1; newcb->family = family; newcb->type = type; newcb->flags = flags; @@ -205,32 +206,37 @@ newcb->handler = newhandler; newcb->next = NULL; - cur = conn->handlerlist; - if (!cur) + if (!conn->handlerlist) conn->handlerlist = newcb; - else - { - while (cur->next) - cur = cur->next; - cur->next = newcb; - } + else { + struct aim_rxcblist_t *cur; + + cur = conn->handlerlist; + + while (cur->next) + cur = cur->next; + cur->next = newcb; + } return 0; } faim_export int aim_clearhandlers(struct aim_conn_t *conn) { - struct aim_rxcblist_t *cur,*tmp; + struct aim_rxcblist_t *cur; + if (!conn) return -1; cur = conn->handlerlist; - while(cur) - { - tmp = cur->next; - free(cur); - cur = tmp; - } + while(cur) { + struct aim_rxcblist_t *tmp; + + tmp = cur->next; + free(cur); + cur = tmp; + } + return 0; } @@ -255,6 +261,7 @@ if (type==0xffff) return NULL; + return aim_callhandler(conn, family, 0xffff); }