Mercurial > pidgin.yaz
comparison libpurple/protocols/qq/group_info.c @ 24076:ec3f7d3e0445
2008.10.04 - lonicerae <lonicerae(at)gmail.com>
* fixed a bug in qq_base.c
author | SHiNE CsyFeK <csyfek@gmail.com> |
---|---|
date | Wed, 22 Oct 2008 14:49:38 +0000 |
parents | a95c7e71064c |
children | ce94189f15ad |
comparison
equal
deleted
inserted
replaced
24075:a95c7e71064c | 24076:ec3f7d3e0445 |
---|---|
155 | 155 |
156 g_return_if_fail(data != NULL && data_len > 0); | 156 g_return_if_fail(data != NULL && data_len > 0); |
157 qd = (qq_data *) gc->proto_data; | 157 qd = (qq_data *) gc->proto_data; |
158 | 158 |
159 /* qq_show_packet("Room Info", data, data_len); */ | 159 /* qq_show_packet("Room Info", data, data_len); */ |
160 | 160 |
161 bytes = 0; | 161 bytes = 0; |
162 bytes += qq_get32(&id, data + bytes); | 162 bytes += qq_get32(&id, data + bytes); |
163 g_return_if_fail(id > 0); | 163 g_return_if_fail(id > 0); |
164 | 164 |
165 bytes += qq_get32(&ext_id, data + bytes); | 165 bytes += qq_get32(&ext_id, data + bytes); |
189 * qunDestLen(qunDestcontent)) */ | 189 * qunDestLen(qunDestcontent)) */ |
190 bytes += qq_get8(&unknown1, data + bytes); | 190 bytes += qq_get8(&unknown1, data + bytes); |
191 purple_debug_info("QQ", "type=%u creatorid=%u category=%u maxmembers=%u\n", | 191 purple_debug_info("QQ", "type=%u creatorid=%u category=%u maxmembers=%u\n", |
192 group->type8, group->creator_uid, group->category, max_members); | 192 group->type8, group->creator_uid, group->category, max_members); |
193 | 193 |
194 if (qd->client_version >= 2007) { | 194 /* skip 7 bytes unknow in qq2007 0x(00 00 01 00 00 00 fc)*/ |
195 /* skip 7 bytes unknow in qq2007 0x(00 00 01 00 00 00 fc)*/ | 195 bytes += 7; |
196 bytes += 7; | 196 |
197 } | |
198 /* qq_show_packet("Room Info", data + bytes, data_len - bytes); */ | 197 /* qq_show_packet("Room Info", data + bytes, data_len - bytes); */ |
199 /* strlen + <str content> */ | 198 /* strlen + <str content> */ |
200 bytes += qq_get_vstr(&(group->title_utf8), QQ_CHARSET_DEFAULT, data + bytes); | 199 bytes += convert_as_pascal_string(data + bytes, &(group->title_utf8), QQ_CHARSET_DEFAULT); |
201 bytes += qq_get16(&unknown, data + bytes); /* 0x0000 */ | 200 bytes += qq_get16(&unknown, data + bytes); /* 0x0000 */ |
202 bytes += qq_get_vstr(¬ice, QQ_CHARSET_DEFAULT, data + bytes); | 201 bytes += convert_as_pascal_string(data + bytes, ¬ice, QQ_CHARSET_DEFAULT); |
203 bytes += qq_get_vstr(&(group->desc_utf8), QQ_CHARSET_DEFAULT, data + bytes); | 202 bytes += convert_as_pascal_string(data + bytes, &(group->desc_utf8), QQ_CHARSET_DEFAULT); |
204 | 203 |
205 purple_debug_info("QQ", "room [%s] notice [%s] desc [%s] unknow 0x%04X\n", | 204 purple_debug_info("QQ", "room [%s] notice [%s] desc [%s] unknow 0x%04X\n", |
206 group->title_utf8, notice, group->desc_utf8, unknown); | 205 group->title_utf8, notice, group->desc_utf8, unknown); |
207 | 206 |
208 num = 0; | 207 num = 0; |
313 qq_buddy *member; | 312 qq_buddy *member; |
314 gchar *nick; | 313 gchar *nick; |
315 | 314 |
316 g_return_if_fail(data != NULL && len > 0); | 315 g_return_if_fail(data != NULL && len > 0); |
317 | 316 |
318 /* qq_show_packet("qq_process_room_cmd_get_buddies", data, len); */ | 317 #if 0 |
318 qq_show_packet("qq_process_room_cmd_get_buddies", data, len); | |
319 #endif | |
319 | 320 |
320 bytes = 0; | 321 bytes = 0; |
321 bytes += qq_get32(&id, data + bytes); | 322 bytes += qq_get32(&id, data + bytes); |
322 g_return_if_fail(id > 0); | 323 g_return_if_fail(id > 0); |
323 | 324 |
334 | 335 |
335 num++; | 336 num++; |
336 bytes += qq_get16(&(member->face), data + bytes); | 337 bytes += qq_get16(&(member->face), data + bytes); |
337 bytes += qq_get8(&(member->age), data + bytes); | 338 bytes += qq_get8(&(member->age), data + bytes); |
338 bytes += qq_get8(&(member->gender), data + bytes); | 339 bytes += qq_get8(&(member->gender), data + bytes); |
339 bytes += qq_get_vstr(&nick, QQ_CHARSET_DEFAULT, data + bytes); | 340 bytes += convert_as_pascal_string(data + bytes, &nick, QQ_CHARSET_DEFAULT); |
340 bytes += qq_get16(&unknown, data + bytes); | 341 bytes += qq_get16(&unknown, data + bytes); |
341 bytes += qq_get8(&(member->ext_flag), data + bytes); | 342 bytes += qq_get8(&(member->ext_flag), data + bytes); |
342 bytes += qq_get8(&(member->comm_flag), data + bytes); | 343 bytes += qq_get8(&(member->comm_flag), data + bytes); |
343 | 344 |
344 /* filter \r\n in nick */ | 345 /* filter \r\n in nick */ |