libpurple/protocols/irc/parse.c

changeset 28468
aa8975185a48
parent 24763
67d9d4c975c0
child 31229
4bef370d8a92
equal deleted inserted replaced
28467:83590fc6c2aa 28468:aa8975185a48
359 { 359 {
360 const char *cur, *end; 360 const char *cur, *end;
361 char fg[3] = "\0\0", bg[3] = "\0\0"; 361 char fg[3] = "\0\0", bg[3] = "\0\0";
362 int fgnum, bgnum; 362 int fgnum, bgnum;
363 int font = 0, bold = 0, underline = 0, italic = 0; 363 int font = 0, bold = 0, underline = 0, italic = 0;
364 GString *decoded = g_string_sized_new(strlen(string)); 364 GString *decoded;
365
366 if (string == NULL)
367 return NULL;
368
369 decoded = g_string_sized_new(strlen(string));
365 370
366 cur = string; 371 cur = string;
367 do { 372 do {
368 end = strpbrk(cur, "\002\003\007\017\026\037"); 373 end = strpbrk(cur, "\002\003\007\017\026\037");
369 374
459 return g_string_free(decoded, FALSE); 464 return g_string_free(decoded, FALSE);
460 } 465 }
461 466
462 char *irc_mirc2txt (const char *string) 467 char *irc_mirc2txt (const char *string)
463 { 468 {
464 char *result = g_strdup (string); 469 char *result;
465 int i, j; 470 int i, j;
471
472 if (string == NULL)
473 return NULL;
474
475 result = g_strdup (string);
466 476
467 for (i = 0, j = 0; result[i]; i++) { 477 for (i = 0, j = 0; result[i]; i++) {
468 switch (result[i]) { 478 switch (result[i]) {
469 case '\002': 479 case '\002':
470 case '\003': 480 case '\003':

mercurial