summary refs log tree commit diff stats
path: root/src/common/dcc.c
diff options
context:
space:
mode:
authorArnavion <arnavion@gmail.com>2015-01-31 00:52:31 -0800
committerArnavion <arnavion@gmail.com>2015-01-31 00:52:31 -0800
commit1d83610341777ec723f4619b168b1001a8b109ab (patch)
tree71a8e833e89bcbb370d90334e279563bfcba2491 /src/common/dcc.c
parent5dde0d7c6d703a6797cbe3af8aa548ba23a1a024 (diff)
Save iconv converters for input and output in the server.
These are then used with g_convert_with_iconv instead of making it create a new iconv converter every time for the given from-to-encoding pairs.
Diffstat (limited to 'src/common/dcc.c')
-rw-r--r--src/common/dcc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/common/dcc.c b/src/common/dcc.c
index 65f52322..881bcf78 100644
--- a/src/common/dcc.c
+++ b/src/common/dcc.c
@@ -487,7 +487,7 @@ dcc_write_chat (char *nick, char *text)
 	if (dcc && dcc->dccstat == STAT_ACTIVE)
 	{
 		len = strlen (text);
-		tcp_send_real (NULL, dcc->sok, dcc->serv->encoding, text, len);
+		tcp_send_real (NULL, dcc->sok, dcc->serv->write_converter, text, len);
 		send (dcc->sok, "\n", 1, 0);
 		dcc->size += len;
 		fe_dcc_update (dcc);
@@ -509,7 +509,7 @@ dcc_chat_line (struct DCC *dcc, char *line)
 	char portbuf[32];
 	message_tags_data no_tags = MESSAGE_TAGS_DATA_INIT;
 
-	line = text_invalid_encoding_to_utf8 (line, -1, dcc->serv->encoding, NULL);
+	line = text_convert_invalid (line, -1, dcc->serv->read_converter, unicode_fallback_string, NULL);
 
 	sess = find_dialog (dcc->serv, dcc->nick);
 	if (!sess)