diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-06 18:19:31 +0000 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-06 18:19:31 +0000 |
commit | be915f54a52dd0f88b2a64d5cef094b0e6c9334d (patch) | |
tree | 7693394c6fcc2f0d9cf2c4a9c92395d727ae1489 /protocols/yahoo/libyahoo2.c | |
parent | 0714d51217d999fc67b6ef193e04f7af437cc2b0 (diff) |
Yahoo! fixes. Turns out the protocol really is somewhat odd.
Diffstat (limited to 'protocols/yahoo/libyahoo2.c')
-rw-r--r-- | protocols/yahoo/libyahoo2.c | 5 |
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); |