X-Git-Url: http://andersk.mit.edu/gitweb/libfaim.git/blobdiff_plain/25aaf30ee37131abc727b1fd86b08a27e415db98..HEAD:/src/login.c diff --git a/src/login.c b/src/login.c index 809958b..fa702b4 100644 --- a/src/login.c +++ b/src/login.c @@ -602,13 +602,15 @@ static int ratechange(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, a return 0; } -/* XXX parse this */ static int selfinfo(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) { aim_rxcallback_t userfunc; + aim_userinfo_t userinfo; + + aim_extractuserinfo(sess, bs, &userinfo); if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) - return userfunc(sess, rx); + return userfunc(sess, rx, &userinfo); return 0; } @@ -617,9 +619,9 @@ static int evilnotify(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, a { aim_rxcallback_t userfunc; fu16_t newevil; - struct aim_userinfo_s userinfo; + aim_userinfo_t userinfo; - memset(&userinfo, 0, sizeof(struct aim_userinfo_s)); + memset(&userinfo, 0, sizeof(aim_userinfo_t)); newevil = aimbs_get16(bs); @@ -783,16 +785,17 @@ static int hostversions(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_rxcallback_t userfunc; int vercount; fu8_t *versions; + int ret = 0; vercount = aim_bstream_empty(bs)/4; versions = aimbs_getraw(bs, aim_bstream_empty(bs)); if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) - return userfunc(sess, rx, vercount, versions); + ret = userfunc(sess, rx, vercount, versions); free(versions); - return 0; + return ret; } /*