--- a/libpurple/protocols/yahoo/libymsg.c Mon Jan 20 00:11:11 2014 -0800
+++ b/libpurple/protocols/yahoo/libymsg.c Mon Jan 20 00:26:52 2014 -0800
@@ -1320,7 +1320,7 @@
const char *who = add_req->who;
- encoded_msg = yahoo_string_encode(add_req->gc, msg, NULL);
+ encoded_msg = yahoo_string_encode(add_req->gc, msg, FALSE); pkt = yahoo_packet_new(YAHOO_SERVICE_AUTH_REQ_15,
YAHOO_STATUS_AVAILABLE, yd->session_id);
@@ -1333,7 +1333,7 @@
14, encoded_msg ? encoded_msg : "");
@@ -1342,7 +1342,7 @@
14, encoded_msg ? encoded_msg : "");
@@ -4563,7 +4563,6 @@
struct yahoo_packet *pkt = NULL;
char *msg = yahoo_html_to_codes(what);
@@ -4571,7 +4570,7 @@
struct yahoo_p2p_data *p2p_data;
YahooFederation fed = YAHOO_FEDERATION_NONE;
- msg2 = yahoo_string_encode(gc, msg, &utf8);
+ msg2 = yahoo_string_encode(gc, msg, TRUE); @@ -4654,8 +4653,7 @@
yahoo_packet_hash_int(pkt, 241, fed);
- yahoo_packet_hash_str(pkt, 97, "1");
+ yahoo_packet_hash_str(pkt, 97, "1"); /* UTF-8 */ yahoo_packet_hash_str(pkt, 14, msg2);
@@ -4780,7 +4778,6 @@
if (!purple_status_is_active(status))
@@ -4797,13 +4794,13 @@
msg = purple_status_get_attr_string(status, "message");
if (purple_status_is_available(status)) {
- tmp = yahoo_string_encode(gc, msg, &utf8);
+ tmp = yahoo_string_encode(gc, msg, TRUE); conv_msg = purple_markup_strip_html(tmp);
if ((msg == NULL) || (*msg == '\0'))
- tmp = yahoo_string_encode(gc, msg, &utf8);
+ tmp = yahoo_string_encode(gc, msg, TRUE); conv_msg = purple_markup_strip_html(tmp);
@@ -4821,7 +4818,7 @@
yahoo_packet_hash_int(pkt, 10, yd->current_status);
if (yd->current_status == YAHOO_STATUS_CUSTOM) {
- yahoo_packet_hash_str(pkt, 97, utf8 ? "1" : 0);
+ yahoo_packet_hash_str(pkt, 97, "1"); /* UTF-8 */ yahoo_packet_hash_str(pkt, 19, conv_msg);
yahoo_packet_hash_str(pkt, 19, "");
@@ -4881,10 +4878,9 @@
status = purple_presence_get_active_status(purple_account_get_presence(purple_connection_get_account(gc)));
tmp = purple_status_get_attr_string(status, "message");
- msg = yahoo_string_encode(gc, tmp, &utf8);
+ msg = yahoo_string_encode(gc, tmp, TRUE); msg2 = purple_markup_strip_html(msg);
- yahoo_packet_hash_str(pkt, 97, utf8 ? "1" : 0);
+ yahoo_packet_hash_str(pkt, 97, "1"); /* UTF-8 */ yahoo_packet_hash_str(pkt, 19, msg2);
/* get_yahoo_status_from_purple_status() returns YAHOO_STATUS_CUSTOM for
@@ -5030,13 +5026,13 @@
- group2 = yahoo_string_encode(gc, group, NULL);
+ group2 = yahoo_string_encode(gc, group, FALSE); pkt = yahoo_packet_new(YAHOO_SERVICE_ADDBUDDY, YAHOO_STATUS_AVAILABLE, yd->session_id);
yahoo_packet_hash(pkt, "sssssssisss",
1, purple_connection_get_display_name(gc),
@@ -5051,7 +5047,7 @@
yahoo_packet_hash(pkt, "ssssssssss",
1, purple_connection_get_display_name(gc),
@@ -5101,7 +5097,7 @@
f = NULL; /* f no longer valid - Just making it clear */
- cg = yahoo_string_encode(gc, gname, NULL);
+ cg = yahoo_string_encode(gc, gname, FALSE); pkt = yahoo_packet_new(YAHOO_SERVICE_REMBUDDY, YAHOO_STATUS_AVAILABLE, yd->session_id);
@@ -5216,8 +5212,8 @@
* end up deleting the buddy, which would be bad.
* This might happen because of the charset conversation.
- gpn = yahoo_string_encode(gc, new_group, NULL);
- gpo = yahoo_string_encode(gc, old_group, NULL);
+ gpn = yahoo_string_encode(gc, new_group, FALSE); + gpo = yahoo_string_encode(gc, old_group, FALSE); @@ -5246,8 +5242,8 @@
struct yahoo_packet *pkt;
- gpn = yahoo_string_encode(gc, purple_group_get_name(group), NULL);
- gpo = yahoo_string_encode(gc, old_name, NULL);
+ gpn = yahoo_string_encode(gc, purple_group_get_name(group), FALSE); + gpo = yahoo_string_encode(gc, old_name, FALSE); --- a/libpurple/protocols/yahoo/yahoochat.c Mon Jan 20 00:11:11 2014 -0800
+++ b/libpurple/protocols/yahoo/yahoochat.c Mon Jan 20 00:26:52 2014 -0800
@@ -406,7 +406,6 @@
YahooData *yd = purple_connection_get_protocol_data(gc);
struct yahoo_packet *pkt;
g_return_if_fail(yd->ycht != NULL);
@@ -416,7 +415,7 @@
/* apparently room names are always utf8, or else always not utf8,
* so we don't have to actually pass the flag in the packet. Or something. */
- room2 = yahoo_string_encode(gc, room, &utf8);
+ room2 = yahoo_string_encode(gc, room, TRUE); pkt = yahoo_packet_new(YAHOO_SERVICE_CHATJOIN, YAHOO_STATUS_AVAILABLE, yd->session_id);
yahoo_packet_hash(pkt, "ssss",
@@ -853,10 +852,9 @@
struct yahoo_packet *pkt;
msg = yahoo_html_to_codes(what);
- msg2 = yahoo_string_encode(gc, msg, &utf8);
+ msg2 = yahoo_string_encode(gc, msg, TRUE); pkt = yahoo_packet_new(YAHOO_SERVICE_CONFMSG, YAHOO_STATUS_AVAILABLE, yd->session_id);
@@ -866,8 +864,7 @@
yahoo_packet_hash_str(pkt, 53, name);
yahoo_packet_hash(pkt, "ss", 57, room, 14, msg2);
- yahoo_packet_hash_str(pkt, 97, "1"); /* utf-8 */
+ yahoo_packet_hash_str(pkt, 97, "1"); /* UTF-8 */ yahoo_packet_send_and_free(pkt, yd);
@@ -912,7 +909,7 @@
- msg2 = yahoo_string_encode(gc, msg, NULL);
+ msg2 = yahoo_string_encode(gc, msg, FALSE); members = purple_chat_conversation_get_users(c);
@@ -938,9 +935,7 @@
YahooData *yd = purple_connection_get_protocol_data(gc);
struct yahoo_packet *pkt;
g_return_if_fail(yd->ycht != NULL);
@@ -949,7 +944,7 @@
- eroom = yahoo_string_encode(gc, room, &utf8);
+ eroom = yahoo_string_encode(gc, room, TRUE); pkt = yahoo_packet_new(YAHOO_SERVICE_CHATEXIT, YAHOO_STATUS_AVAILABLE, yd->session_id);
yahoo_packet_hash(pkt, "sss", 104, eroom, 109, dn, 108, "1");
@@ -991,7 +986,6 @@
struct yahoo_packet *pkt;
char *msg1, *msg2, *room2;
g_return_val_if_fail(yd->ycht != NULL, 1);
@@ -1006,9 +1000,9 @@
msg2 = yahoo_html_to_codes(msg1);
- msg1 = yahoo_string_encode(gc, msg2, &utf8);
+ msg1 = yahoo_string_encode(gc, msg2, TRUE); - room2 = yahoo_string_encode(gc, room, NULL);
+ room2 = yahoo_string_encode(gc, room, FALSE); pkt = yahoo_packet_new(YAHOO_SERVICE_COMMENT, YAHOO_STATUS_AVAILABLE, yd->session_id);
@@ -1018,8 +1012,7 @@
yahoo_packet_hash_str(pkt, 124, "1");
/* fixme: what about /think? (124=3) */
- yahoo_packet_hash_str(pkt, 97, "1");
+ yahoo_packet_hash_str(pkt, 97, "1"); /* UTF-8 */ yahoo_packet_send_and_free(pkt, yd);
@@ -1035,7 +1028,6 @@
YahooData *yd = purple_connection_get_protocol_data(gc);
struct yahoo_packet *pkt;
char *room2, *msg2 = NULL;
g_return_if_fail(yd->ycht != NULL);
@@ -1043,9 +1035,9 @@
- room2 = yahoo_string_encode(gc, room, &utf8);
+ room2 = yahoo_string_encode(gc, room, TRUE); - msg2 = yahoo_string_encode(gc, msg, NULL);
+ msg2 = yahoo_string_encode(gc, msg, FALSE); pkt = yahoo_packet_new(YAHOO_SERVICE_CHATADDINVITE, YAHOO_STATUS_AVAILABLE, yd->session_id);
yahoo_packet_hash(pkt, "sssss", 1, dn, 118, buddy, 104, room2, 117, (msg2?msg2:""), 129, "0");
--- a/libpurple/protocols/yahoo/ycht.c Mon Jan 20 00:11:11 2014 -0800
+++ b/libpurple/protocols/yahoo/ycht.c Mon Jan 20 00:26:52 2014 -0800
@@ -626,7 +626,7 @@
pkt = ycht_packet_new(YCHT_VERSION, YCHT_SERVICE_CHATMSG, 0);
msg1 = yahoo_html_to_codes(what);
- msg2 = yahoo_string_encode(ycht->gc, msg1, NULL);
+ msg2 = yahoo_string_encode(ycht->gc, msg1, FALSE); buf = g_strdup_printf("%s\001%s", ycht->room, msg2);