Mercurial > pidgin
diff plugins/icq/gaim_icq.c @ 1404:96e93119268d
[gaim-migrate @ 1414]
argh
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Sat, 13 Jan 2001 08:49:15 +0000 |
parents | 65f4a0325022 |
children | 4c510ca3563f |
line wrap: on
line diff
--- a/plugins/icq/gaim_icq.c Fri Jan 12 03:02:20 2001 +0000 +++ b/plugins/icq/gaim_icq.c Sat Jan 13 08:49:15 2001 +0000 @@ -284,7 +284,8 @@ static void icq_send_msg(struct gaim_connection *gc, char *who, char *msg, int away) { struct icq_data *id = (struct icq_data *)gc->proto_data; - icq_SendMessage(id->link, atol(who), msg, ICQ_SEND_BESTWAY); + if (!away && (strlen(msg) > 0)) + icq_SendMessage(id->link, atol(who), msg, ICQ_SEND_BESTWAY); } static void icq_keepalive(struct gaim_connection *gc) { @@ -317,25 +318,36 @@ static void icq_set_away(struct gaim_connection *gc, char *state, char *msg) { struct icq_data *id = (struct icq_data *)gc->proto_data; + if (gc->away) + gc->away = NULL; + if (!strcmp(state, "Online")) icq_ChangeStatus(id->link, STATUS_ONLINE); - else if (!strcmp(state, "Away")) + else if (!strcmp(state, "Away")) { icq_ChangeStatus(id->link, STATUS_AWAY); - else if (!strcmp(state, "Do Not Disturb")) + gc->away = ""; + } else if (!strcmp(state, "Do Not Disturb")) { icq_ChangeStatus(id->link, STATUS_DND); - else if (!strcmp(state, "Not Available")) + gc->away = ""; + } else if (!strcmp(state, "Not Available")) { icq_ChangeStatus(id->link, STATUS_NA); - else if (!strcmp(state, "Occupied")) + gc->away = ""; + } else if (!strcmp(state, "Occupied")) { icq_ChangeStatus(id->link, STATUS_OCCUPIED); - else if (!strcmp(state, "Free For Chat")) + gc->away = ""; + } else if (!strcmp(state, "Free For Chat")) { icq_ChangeStatus(id->link, STATUS_FREE_CHAT); - else if (!strcmp(state, "Invisible")) + gc->away = ""; + } else if (!strcmp(state, "Invisible")) { icq_ChangeStatus(id->link, STATUS_INVISIBLE); - else if (!strcmp(state, GAIM_AWAY_CUSTOM)) { - if (msg) + gc->away = ""; + } else if (!strcmp(state, GAIM_AWAY_CUSTOM)) { + if (msg) { icq_ChangeStatus(id->link, STATUS_NA); - else + gc->away = ""; + } else { icq_ChangeStatus(id->link, STATUS_ONLINE); + } } }