comparison src/protocols/oscar/icq.c @ 4784:b1365291f002

[gaim-migrate @ 5104] This makes the whole get-icq-nick-on-add-buddy thing work correctly. When I'm around Gaim... I can never think of anything to say I can feel my heart beating My breathing gets shallow I'm afraid to look her in the eyes Then she puts her hand on my arm And I stop breathing And I look up And I remember why Hmm, are we still talking about Gaim? committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sat, 15 Mar 2003 01:07:08 +0000
parents 1762496d502a
children 46fb754a3c10
comparison
equal deleted inserted replaced
4783:66be56dc86cb 4784:b1365291f002
193 { 193 {
194 aim_conn_t *conn; 194 aim_conn_t *conn;
195 aim_frame_t *fr; 195 aim_frame_t *fr;
196 aim_snacid_t snacid; 196 aim_snacid_t snacid;
197 int bslen; 197 int bslen;
198 struct aim_icq_info *info;
198 199
199 if (!uin || uin[0] < '0' || uin[0] > '9') 200 if (!uin || uin[0] < '0' || uin[0] > '9')
200 return -EINVAL; 201 return -EINVAL;
201 202
202 if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0015))) 203 if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0015)))
220 aimbs_putle16(&fr->data, snacid); /* eh. */ 221 aimbs_putle16(&fr->data, snacid); /* eh. */
221 aimbs_putle16(&fr->data, 0x04ba); /* shrug. */ 222 aimbs_putle16(&fr->data, 0x04ba); /* shrug. */
222 aimbs_putle32(&fr->data, atoi(uin)); 223 aimbs_putle32(&fr->data, atoi(uin));
223 224
224 aim_tx_enqueue(sess, fr); 225 aim_tx_enqueue(sess, fr);
226
227 /* Keep track of this request and the ICQ number and request ID */
228 info = (struct aim_icq_info *)calloc(1, sizeof(struct aim_icq_info));
229 info->reqid = snacid;
230 info->uin = atoi(uin);
231 info->next = sess->icq_info;
232 sess->icq_info = info;
225 233
226 return 0; 234 return 0;
227 } 235 }
228 236
229 faim_export int aim_icq_getsimpleinfo(aim_session_t *sess, const char *uin) 237 faim_export int aim_icq_getsimpleinfo(aim_session_t *sess, const char *uin)
507 /* Then 0x00 02 00 00 00 00 00 */ 515 /* Then 0x00 02 00 00 00 00 00 */
508 } break; 516 } break;
509 } /* End switch statement */ 517 } /* End switch statement */
510 518
511 if (!(snac->flags & 0x0001)) { 519 if (!(snac->flags & 0x0001)) {
512 if (cmd != 0x104) 520 if (subtype != 0x0104)
513 if ((userfunc = aim_callhandler(sess, rx->conn, AIM_CB_FAM_ICQ, AIM_CB_ICQ_INFO))) 521 if ((userfunc = aim_callhandler(sess, rx->conn, AIM_CB_FAM_ICQ, AIM_CB_ICQ_INFO)))
514 ret = userfunc(sess, rx, info); 522 ret = userfunc(sess, rx, info);
515 523
516 if (info->uin && info->nick) 524 if (info->uin && info->nick)
517 if ((userfunc = aim_callhandler(sess, rx->conn, AIM_CB_FAM_ICQ, AIM_CB_ICQ_ALIAS))) 525 if ((userfunc = aim_callhandler(sess, rx->conn, AIM_CB_FAM_ICQ, AIM_CB_ICQ_ALIAS)))