comparison src/protocols/oscar/buddylist.c @ 5836:09f7f23dc83a

[gaim-migrate @ 6267] I think I've fixed the negative online time for real, now. Or, at least reduced the frequency of it happening. Also added the ability to see iChat's "available" messages. Sean, I ended up changing more than I thought I would have to, but that's partially because I like to change things a lot. If it conflicts or whatever feel free to back it out and I can re-patch it back in when you're done with your stuff. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 12 Jun 2003 03:27:58 +0000
parents 0b64f386a7b8
children 04dc7fe68889
comparison
equal deleted inserted replaced
5835:9a08899192ee 5836:09f7f23dc83a
230 230
231 /* 231 /*
232 * Subtypes 0x000b and 0x000c - Change in buddy status 232 * Subtypes 0x000b and 0x000c - Change in buddy status
233 * 233 *
234 * Oncoming Buddy notifications contain a subset of the 234 * Oncoming Buddy notifications contain a subset of the
235 * user information structure. Its close enough to run 235 * user information structure. It's close enough to run
236 * through aim_extractuserinfo() however. 236 * through aim_info_extract() however.
237 * 237 *
238 * Although the offgoing notification contains no information, 238 * Although the offgoing notification contains no information,
239 * it is still in a format parsable by extractuserinfo. 239 * it is still in a format parsable by aim_info_extract().
240 * 240 *
241 */ 241 */
242 static int buddychange(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 242 static int buddychange(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
243 { 243 {
244 int ret = 0; 244 int ret = 0;
245 aim_userinfo_t userinfo; 245 aim_userinfo_t userinfo;
246 aim_rxcallback_t userfunc; 246 aim_rxcallback_t userfunc;
247 247
248 aim_extractuserinfo(sess, bs, &userinfo); 248 aim_info_extract(sess, bs, &userinfo);
249 249
250 if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) 250 if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype)))
251 ret = userfunc(sess, rx, &userinfo); 251 ret = userfunc(sess, rx, &userinfo);
252
253 aim_info_free(&userinfo);
252 254
253 return ret; 255 return ret;
254 } 256 }
255 257
256 static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 258 static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)