comparison libpurple/protocols/irc/parse.c @ 28592:493f48f8d17f 2.6.2_jp

merged with im.pidgin.pidgin
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 07 Sep 2009 20:39:36 +0900
parents 770f2f8a2c91 c4a14bbe1b18
children c92bc01056ea
comparison
equal deleted inserted replaced
28533:7336033277da 28592:493f48f8d17f
560 { 560 {
561 const char *cur, *end; 561 const char *cur, *end;
562 char fg[3] = "\0\0", bg[3] = "\0\0"; 562 char fg[3] = "\0\0", bg[3] = "\0\0";
563 int fgnum, bgnum; 563 int fgnum, bgnum;
564 int font = 0, bold = 0, underline = 0, italic = 0; 564 int font = 0, bold = 0, underline = 0, italic = 0;
565 GString *decoded = g_string_sized_new(strlen(string)); 565 GString *decoded;
566
567 if (string == NULL)
568 return NULL;
569
570 decoded = g_string_sized_new(strlen(string));
566 571
567 cur = string; 572 cur = string;
568 do { 573 do {
569 end = strpbrk(cur, "\002\003\007\017\026\037"); 574 end = strpbrk(cur, "\002\003\007\017\026\037");
570 575
660 return g_string_free(decoded, FALSE); 665 return g_string_free(decoded, FALSE);
661 } 666 }
662 667
663 char *irc_mirc2txt (const char *string) 668 char *irc_mirc2txt (const char *string)
664 { 669 {
665 char *result = g_strdup (string); 670 char *result;
666 int i, j; 671 int i, j;
672
673 if (string == NULL)
674 return NULL;
675
676 result = g_strdup (string);
667 677
668 for (i = 0, j = 0; result[i]; i++) { 678 for (i = 0, j = 0; result[i]; i++) {
669 switch (result[i]) { 679 switch (result[i]) {
670 case '\002': 680 case '\002':
671 case '\003': 681 case '\003':