]> andersk Git - libfaim.git/blobdiff - src/login.c
- Sun Oct 14 19:45:54 PDT 2001
[libfaim.git] / src / login.c
index 809958be8ed7169ef65ce36f25ae494ff0cbbc60..fa702b44a27c1eadda156c5418abce827c13c63f 100644 (file)
@@ -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;
 }
 
 /*
This page took 0.031692 seconds and 4 git commands to generate.