aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/yahoo/libyahoo2.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-03-06 18:19:31 +0000
committerWilmer van der Gaast <wilmer@gaast.net>2010-03-06 18:19:31 +0000
commitbe915f54a52dd0f88b2a64d5cef094b0e6c9334d (patch)
tree7693394c6fcc2f0d9cf2c4a9c92395d727ae1489 /protocols/yahoo/libyahoo2.c
parent0714d51217d999fc67b6ef193e04f7af437cc2b0 (diff)
Yahoo! fixes. Turns out the protocol really is somewhat odd.
Diffstat (limited to 'protocols/yahoo/libyahoo2.c')
-rw-r--r--protocols/yahoo/libyahoo2.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/protocols/yahoo/libyahoo2.c b/protocols/yahoo/libyahoo2.c
index 20e284f7..721f4b7c 100644
--- a/protocols/yahoo/libyahoo2.c
+++ b/protocols/yahoo/libyahoo2.c
@@ -4086,9 +4086,6 @@ void yahoo_send_typing(int id, const char *from, const char *who, int typ)
yahoo_packet_free(pkt);
}
-/* TODO(wilmer): See if this this function still works since I got rid of a
- lot of things that seemed illogical. Some things may have
- been intentional. */
void yahoo_set_away(int id, enum yahoo_status state, const char *msg, int away)
{
struct yahoo_input_data *yid = find_input_by_id_and_type(id, YAHOO_CONNECTION_PAGER);
@@ -4117,7 +4114,7 @@ void yahoo_set_away(int id, enum yahoo_status state, const char *msg, int away)
pkt = yahoo_packet_new(YAHOO_SERVICE_Y6_STATUS_UPDATE, yd->current_status, yd->session_id);
snprintf(s, sizeof(s), "%d", yd->current_status);
yahoo_packet_hash(pkt, 10, s);
- yahoo_packet_hash(pkt, 19, msg);
+ yahoo_packet_hash(pkt, 19, msg && state == YAHOO_STATUS_CUSTOM ? msg : "");
yahoo_packet_hash(pkt, 47, (away == 2)? "2": (away) ?"1":"0");
yahoo_send_packet(yid, pkt, 0);
yahoo_packet_free(pkt);