comparison libpurple/protocols/qq/group_im.c @ 30430:351d07aefb09

Kill off many dead assignments and any useless remaining variables. I think some of those QQ ones were actual logic errors, too. Let me know if there were any side-effects that were cut.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Mon, 23 Aug 2010 00:52:24 +0000
parents 73a30365c293
children 4deef745de87
comparison
equal deleted inserted replaced
30429:922c8c553758 30430:351d07aefb09
46 46
47 /* show group conversation window */ 47 /* show group conversation window */
48 PurpleConversation *qq_room_conv_open(PurpleConnection *gc, qq_room_data *rmd) 48 PurpleConversation *qq_room_conv_open(PurpleConnection *gc, qq_room_data *rmd)
49 { 49 {
50 PurpleConversation *conv; 50 PurpleConversation *conv;
51 qq_data *qd;
52 gchar *topic_utf8; 51 gchar *topic_utf8;
53 52
54 g_return_val_if_fail(rmd != NULL, NULL); 53 g_return_val_if_fail(rmd != NULL, NULL);
55 g_return_val_if_fail(rmd->title_utf8, NULL); 54 g_return_val_if_fail(rmd->title_utf8, NULL);
56 qd = (qq_data *) gc->proto_data;
57 55
58 conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, 56 conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT,
59 rmd->title_utf8, purple_connection_get_account(gc)); 57 rmd->title_utf8, purple_connection_get_account(gc));
60 if (conv != NULL) { 58 if (conv != NULL) {
61 /* show only one conversation per room */ 59 /* show only one conversation per room */
205 } 203 }
206 204
207 /* recv an IM from a group chat */ 205 /* recv an IM from a group chat */
208 void qq_process_room_im(guint8 *data, gint data_len, guint32 id, PurpleConnection *gc, guint16 msg_type) 206 void qq_process_room_im(guint8 *data, gint data_len, guint32 id, PurpleConnection *gc, guint16 msg_type)
209 { 207 {
210 qq_data *qd;
211 gchar *msg_smiley, *msg_fmt, *msg_utf8; 208 gchar *msg_smiley, *msg_fmt, *msg_utf8;
212 gint bytes, tail_len; 209 gint bytes, tail_len;
213 struct { 210 struct {
214 guint32 ext_id; 211 guint32 ext_id;
215 guint8 type8; 212 guint8 type8;
227 guint16 msg_id; 224 guint16 msg_id;
228 qq_im_format *fmt = NULL; 225 qq_im_format *fmt = NULL;
229 226
230 /* at least include im_text.msg_len */ 227 /* at least include im_text.msg_len */
231 g_return_if_fail(data != NULL && data_len > 23); 228 g_return_if_fail(data != NULL && data_len > 23);
232 qd = (qq_data *) gc->proto_data;
233 229
234 /* qq_show_packet("ROOM_IM", data, data_len); */ 230 /* qq_show_packet("ROOM_IM", data, data_len); */
235 memset(&im_text, 0, sizeof(im_text)); 231 memset(&im_text, 0, sizeof(im_text));
236 bytes = 0; 232 bytes = 0;
237 bytes += qq_get32(&(im_text.ext_id), data + bytes); 233 bytes += qq_get32(&(im_text.ext_id), data + bytes);
374 gchar *msg_stripped, *tmp; 370 gchar *msg_stripped, *tmp;
375 GSList *segments, *it; 371 GSList *segments, *it;
376 gint msg_len; 372 gint msg_len;
377 const gchar *start_invalid; 373 const gchar *start_invalid;
378 gboolean is_smiley_none; 374 gboolean is_smiley_none;
379 guint8 frag_count, frag_index;
380 375
381 g_return_val_if_fail(NULL != gc && NULL != gc->proto_data, -1); 376 g_return_val_if_fail(NULL != gc && NULL != gc->proto_data, -1);
382 g_return_val_if_fail(id != 0 && what != NULL, -1); 377 g_return_val_if_fail(id != 0 && what != NULL, -1);
383 378
384 qd = (qq_data *) gc->proto_data; 379 qd = (qq_data *) gc->proto_data;
385 purple_debug_info("QQ", "Send chat IM to %u, len %" G_GSIZE_FORMAT ":\n%s\n", id, strlen(what), what); 380 purple_debug_info("QQ", "Send chat IM to %u, len %" G_GSIZE_FORMAT ":\n%s\n", id, strlen(what), what);
386 381
387 /* qq_show_packet("chat IM UTF8", (guint8 *)what, strlen(what)); */ 382 /* qq_show_packet("chat IM UTF8", (guint8 *)what, strlen(what)); */
388
389 fmt = qq_im_fmt_new_by_purple(what);
390 is_smiley_none = qq_im_smiley_none(what);
391 383
392 msg_stripped = purple_markup_strip_html(what); 384 msg_stripped = purple_markup_strip_html(what);
393 g_return_val_if_fail(msg_stripped != NULL, -1); 385 g_return_val_if_fail(msg_stripped != NULL, -1);
394 /* qq_show_packet("IM Stripped", (guint8 *)what, strlen(what)); */ 386 /* qq_show_packet("IM Stripped", (guint8 *)what, strlen(what)); */
395 387
415 return -1; 407 return -1;
416 } 408 }
417 409
418 qd->send_im_id++; 410 qd->send_im_id++;
419 fmt = qq_im_fmt_new_by_purple(what); 411 fmt = qq_im_fmt_new_by_purple(what);
420 frag_count = g_slist_length(segments); 412 for (it = segments; it; it = g_slist_delete_link(it, it)) {
421 frag_index = 0; 413 request_room_send_im(gc, id, fmt, (gchar *)it->data);
422 /* 414 g_free(it->data);
423 if (frag_count <= 1) { 415 }
424 */
425 for (it = segments; it; it = it->next) {
426 request_room_send_im(gc, id, fmt, (gchar *)it->data);
427 g_free(it->data);
428 }
429 /*
430 } else {
431 for (it = segments; it; it = it->next) {
432 request_room_send_im_ex(gc, id, fmt, (gchar *)it->data,
433 qd->send_im_id, frag_count, frag_index);
434 g_free(it->data);
435 frag_index++;
436 }
437 }
438 */
439 qq_im_fmt_free(fmt); 416 qq_im_fmt_free(fmt);
440 g_slist_free(segments);
441 return 1; 417 return 1;
442 } 418 }