--- a/libfaim/aim_rxhandlers.c Sat Dec 02 04:48:10 2000 +0000 +++ b/libfaim/aim_rxhandlers.c Sat Dec 02 18:41:58 2000 +0000 @@ -228,14 +228,14 @@ if (!conn) return -1; - cur = conn->handlerlist; - while(cur) { + for (cur = conn->handlerlist; cur; ) { struct aim_rxcblist_t *tmp; tmp = cur->next; free(cur); cur = tmp; } + conn->handlerlist = NULL; return 0; } @@ -781,9 +781,10 @@ */ userfunc = aim_callhandler(command->conn, 0x0001, 0x0005); if (userfunc) - ret = userfunc(sess, command, serviceid, ip, cookie, sess->pendingjoin); + ret = userfunc(sess, command, serviceid, ip, cookie, sess->pendingjoin, (int)sess->pendingjoinexchange); free(sess->pendingjoin); sess->pendingjoin = NULL; + sess->pendingjoinexchange = 0; } else {