Mercurial > pidgin.yaz
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, ...) |