comparison libpurple/protocols/silc/ops.c @ 32718:d9d33a4b5632

Salvage incoming SILC text if necessary. Fixes #14636
author Ethan Blanton <elb@pidgin.im>
date Fri, 30 Sep 2011 01:31:04 +0000
parents 1cdae196aac8
children 44fc11beefab
comparison
equal deleted inserted replaced
32607:88a46649de3d 32718:d9d33a4b5632
406 g_free(msg); 406 g_free(msg);
407 return; 407 return;
408 } 408 }
409 409
410 if (flags & SILC_MESSAGE_FLAG_UTF8) { 410 if (flags & SILC_MESSAGE_FLAG_UTF8) {
411 tmp = g_markup_escape_text((const char *)message, -1); 411 const char *msg = (const char *)message;
412 char *salvaged = NULL;
413 if (!g_utf8_validate((const char *)message, -1, NULL)) {
414 salvaged = purple_utf8_salvage((const char *)message);
415 msg = salvaged;
416 }
417 tmp = g_markup_escape_text(msg, -1);
412 /* Send to Purple */ 418 /* Send to Purple */
413 serv_got_im(gc, sender->nickname, tmp, 0, time(NULL)); 419 serv_got_im(gc, sender->nickname, tmp, 0, time(NULL));
420 g_free(salvaged);
414 g_free(tmp); 421 g_free(tmp);
415 } 422 }
416 } 423 }
417 424
418 425