diff options
author | SHiNE CsyFeK <csyfek@gmail.com> | 2008-10-28 16:39:23 +0000 |
---|---|---|
committer | SHiNE CsyFeK <csyfek@gmail.com> | 2008-10-28 16:39:23 +0000 |
commit | 65bcb258b4be262c4dc9ff66ba6e3c40e4a2a603 (patch) | |
tree | 60fb570a82781f0876883f83e1265c2a7872c0a5 | |
parent | a52dd6490fafd520dbe5464f40c578b0622b4be9 (diff) | |
download | pidgin-65bcb258b4be262c4dc9ff66ba6e3c40e4a2a603.tar.gz |
2008.10.09 - ccpaging <ccpaging(at)gmail.com>
* 20081009-1
-rw-r--r-- | libpurple/protocols/qq/ChangeLog | 3 | ||||
-rw-r--r-- | libpurple/protocols/qq/char_conv.c | 3 | ||||
-rw-r--r-- | libpurple/protocols/qq/group_im.c | 19 | ||||
-rw-r--r-- | libpurple/protocols/qq/group_internal.c | 1 | ||||
-rw-r--r-- | libpurple/protocols/qq/im.c | 4 |
5 files changed, 16 insertions, 14 deletions
diff --git a/libpurple/protocols/qq/ChangeLog b/libpurple/protocols/qq/ChangeLog index aaa81c2d87..a9da5bc72a 100644 --- a/libpurple/protocols/qq/ChangeLog +++ b/libpurple/protocols/qq/ChangeLog @@ -1,4 +1,7 @@ 2008.10.09 - ccpaging <ccpaging(at)gmail.com> + * 20081009-1 + +2008.10.09 - ccpaging <ccpaging(at)gmail.com> * Update 'group' protocol * Functions of group_find, group_free, group_search merged into group_join and group_internal * Removed group_find.c/h, group_free.c/h, group_search.c/h diff --git a/libpurple/protocols/qq/char_conv.c b/libpurple/protocols/qq/char_conv.c index 15f57c0882..ce02ae6796 100644 --- a/libpurple/protocols/qq/char_conv.c +++ b/libpurple/protocols/qq/char_conv.c @@ -157,9 +157,6 @@ gchar *qq_encode_to_purple(guint8 *data, gint len, const gchar *msg, const gint /* checked qq_show_packet OK */ /* qq_show_packet("QQ_MESG recv for font style", data, len); */ - if (client_version >= 2007) { - bytes += 1; - } bytes += qq_get8(&font_attr, data + bytes); bytes += qq_getdata(color, 3, data + bytes); /* red,green,blue */ color_code = g_strdup_printf("#%02x%02x%02x", color[0], color[1], color[2]); diff --git a/libpurple/protocols/qq/group_im.c b/libpurple/protocols/qq/group_im.c index e6ea52a28f..7e2718bc52 100644 --- a/libpurple/protocols/qq/group_im.c +++ b/libpurple/protocols/qq/group_im.c @@ -445,16 +445,14 @@ void qq_process_room_msg_normal(guint8 *data, gint data_len, guint32 id, PurpleC gint font_attr_len; } packet; - g_return_if_fail(data != NULL && data_len > 0); /* FIXME: check length here */ qd = (qq_data *) gc->proto_data; -#if 1 - qq_show_packet("Room IM", data, data_len); -#endif + /* qq_show_packet("ROOM_IM", data, data_len); */ + memset(&packet, 0, sizeof(packet)); bytes = 0; bytes += qq_get32(&(packet.ext_id), data + bytes); @@ -481,7 +479,6 @@ void qq_process_room_msg_normal(guint8 *data, gint data_len, guint32 id, PurpleC bytes += qq_get16(&(packet.msg_len), data + bytes); g_return_if_fail(packet.msg_len > 0); - /* * 10 bytes from lumaqq * contentType = buf.getChar(); @@ -497,15 +494,19 @@ void qq_process_room_msg_normal(guint8 *data, gint data_len, guint32 id, PurpleC skip_len = 0; bytes += skip_len; + /* qq_show_packet("Message", data + bytes, data_len - bytes); */ + packet.msg = g_strdup((gchar *) data + bytes); bytes += strlen(packet.msg) + 1; /* there might not be any font_attr, check it */ - packet.font_attr_len = packet.msg_len - strlen(packet.msg) - 1 - skip_len; - if (packet.font_attr_len > 0) + packet.font_attr_len = data_len - bytes; + if (packet.font_attr_len > 0) { packet.font_attr = g_memdup(data + bytes, packet.font_attr_len); - else + qq_show_packet("font_attr", packet.font_attr, packet.font_attr_len); + } else { packet.font_attr = NULL; - + } + /* group im_group has no flag to indicate whether it has font_attr or not */ msg_with_purple_smiley = qq_smiley_to_purple(packet.msg); if (packet.font_attr_len > 0) { diff --git a/libpurple/protocols/qq/group_internal.c b/libpurple/protocols/qq/group_internal.c index c22b65ddce..002e19b875 100644 --- a/libpurple/protocols/qq/group_internal.c +++ b/libpurple/protocols/qq/group_internal.c @@ -156,6 +156,7 @@ PurpleChat *qq_room_find_or_new(PurpleConnection *gc, guint32 id, guint32 ext_id if (rmd == NULL) { rmd = room_data_new(id, ext_id, NULL); g_return_val_if_fail(rmd != NULL, NULL); + rmd->my_role = QQ_ROOM_ROLE_YES; qd->groups = g_list_append(qd->groups, rmd); } diff --git a/libpurple/protocols/qq/im.c b/libpurple/protocols/qq/im.c index cf91470769..2dc45265b0 100644 --- a/libpurple/protocols/qq/im.c +++ b/libpurple/protocols/qq/im.c @@ -593,10 +593,10 @@ void qq_request_send_im(PurpleConnection *gc, guint32 uid_to, gchar *msg, gint t bytes += qq_putdata(raw_data + bytes, (guint8 *) msg_filtered, msg_len); send_im_tail = qq_get_send_im_tail(font_color, font_size, font_name, is_bold, is_italic, is_underline, tail_len); - qq_show_packet("QQ_send_im_tail debug", send_im_tail, tail_len); + /* qq_show_packet("qq_get_send_im_tail", send_im_tail, tail_len); */ bytes += qq_putdata(raw_data + bytes, send_im_tail, tail_len); - qq_show_packet("QQ_raw_data debug", raw_data, bytes); + /* qq_show_packet("QQ_CMD_SEND_IM, raw_data, bytes); */ if (bytes == raw_len) /* create packet OK */ qq_send_cmd(gc, QQ_CMD_SEND_IM, raw_data, bytes); |