| 230 enclist = purple_account_get_string(irc->account, "encoding", IRC_DEFAULT_CHARSET); |
230 enclist = purple_account_get_string(irc->account, "encoding", IRC_DEFAULT_CHARSET); |
| 231 encodings = g_strsplit(enclist, ",", 2); |
231 encodings = g_strsplit(enclist, ",", 2); |
| 232 |
232 |
| 233 if (encodings[0] == NULL || !g_ascii_strcasecmp("UTF-8", encodings[0])) { |
233 if (encodings[0] == NULL || !g_ascii_strcasecmp("UTF-8", encodings[0])) { |
| 234 g_strfreev(encodings); |
234 g_strfreev(encodings); |
| 235 return g_strdup(string); |
235 return NULL; |
| 236 } |
236 } |
| 237 |
237 |
| 238 utf8 = g_convert(string, strlen(string), encodings[0], "UTF-8", NULL, NULL, &err); |
238 utf8 = g_convert(string, strlen(string), encodings[0], "UTF-8", NULL, NULL, &err); |
| 239 if (err) { |
239 if (err) { |
| 240 purple_debug(PURPLE_DEBUG_ERROR, "irc", "Send conversion error: %s\n", err->message); |
240 purple_debug(PURPLE_DEBUG_ERROR, "irc", "Send conversion error: %s\n", err->message); |
| 595 /* no break! */ |
595 /* no break! */ |
| 596 case 't': |
596 case 't': |
| 597 case 'n': |
597 case 'n': |
| 598 case 'c': |
598 case 'c': |
| 599 tmp = irc_send_convert(irc, tok); |
599 tmp = irc_send_convert(irc, tok); |
| 600 g_string_append(string, tmp); |
600 g_string_append(string, tmp ? tmp : tok); |
| 601 g_free(tmp); |
601 g_free(tmp); |
| 602 break; |
602 break; |
| 603 default: |
603 default: |
| 604 purple_debug(PURPLE_DEBUG_ERROR, "irc", "Invalid format character '%c'\n", *cur); |
604 purple_debug(PURPLE_DEBUG_ERROR, "irc", "Invalid format character '%c'\n", *cur); |
| 605 break; |
605 break; |