comparison src/protocols/oscar/oscar.c @ 3270:6231e0f0ee9e

[gaim-migrate @ 3288] Fix crash for checking ICQ info of people not in your contact list. (Thanks, Mark Doliner) committer: Tailor Script <tailor@pidgin.im>
author Jim Seymour <jseymour>
date Thu, 23 May 2002 00:06:01 +0000
parents 5947e31a01c0
children 86fdd015f40e
comparison
equal deleted inserted replaced
3269:3ab37015a395 3270:6231e0f0ee9e
2501 * and show it in the same window as info. g_show_info_text gets the status 2501 * and show it in the same window as info. g_show_info_text gets the status
2502 * message if the third arg is 0 (this seems really gross to me). The 2502 * message if the third arg is 0 (this seems really gross to me). The
2503 * parse-icq-status-message function knows if it is putting it's message in 2503 * parse-icq-status-message function knows if it is putting it's message in
2504 * an info window because the name will _not_ be in od->evilhack. For getting 2504 * an info window because the name will _not_ be in od->evilhack. For getting
2505 * only the away message the contact's UIN is put in od->evilhack. */ 2505 * only the away message the contact's UIN is put in od->evilhack. */
2506 if ((budlight = find_buddy(gc, who)) && ((budlight->uc >> 7) & (AIM_ICQ_STATE_AWAY || AIM_ICQ_STATE_DND || AIM_ICQ_STATE_OUT || AIM_ICQ_STATE_BUSY || AIM_ICQ_STATE_CHAT))) { 2506 if (budlight = find_buddy(gc, who)) {
2507 if (budlight->caps & AIM_CAPS_ICQSERVERRELAY) 2507 if ((budlight->uc >> 7) & (AIM_ICQ_STATE_AWAY || AIM_ICQ_STATE_DND || AIM_ICQ_STATE_OUT || AIM_ICQ_STATE_BUSY || AIM_ICQ_STATE_CHAT)) {
2508 g_show_info_text(gc, who, 0, buf, NULL); 2508 if (budlight->caps & AIM_CAPS_ICQSERVERRELAY)
2509 else { 2509 g_show_info_text(gc, who, 0, buf, NULL);
2510 else {
2511 char *state_msg = gaim_icq_status((budlight->uc & 0xff80) >> 7);
2512 g_show_info_text(gc, who, 2, buf, "<B>Status:</B> ", state_msg, "<BR>\n<HR><BR><I>Remote client does not support sending status messages.</I><BR>\n", NULL);
2513 free(state_msg);
2514 }
2515 } else {
2510 char *state_msg = gaim_icq_status((budlight->uc & 0xff80) >> 7); 2516 char *state_msg = gaim_icq_status((budlight->uc & 0xff80) >> 7);
2511 g_show_info_text(gc, who, 2, buf, "<B>Status:</B> ", state_msg, "<BR>\n<HR><BR><I>Remote client does not support sending status messages.</I><BR>\n", NULL); 2517 g_show_info_text(gc, who, 2, buf, "<B>Status:</B> ", state_msg, NULL);
2512 free(state_msg); 2518 free(state_msg);
2513 } 2519 }
2514 } else { 2520 } else
2515 char *state_msg = gaim_icq_status((budlight->uc & 0xff80) >> 7); 2521 g_show_info_text(gc, who, 2, buf, NULL);
2516 g_show_info_text(gc, who, 2, buf, "<B>Status:</B> ", state_msg, NULL);
2517 free(state_msg);
2518 }
2519 2522
2520 return 1; 2523 return 1;
2521 } 2524 }
2522 2525
2523 static int gaim_popup(aim_session_t *sess, aim_frame_t *fr, ...) 2526 static int gaim_popup(aim_session_t *sess, aim_frame_t *fr, ...)