summaryrefslogtreecommitdiff
path: root/net-im/ysm/files/patch-network
blob: e7a2bc696e3d852213df942280ba7cfa2a6994f6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
--- YSM_Network.c.orig	Fri Apr 12 11:07:38 2002
+++ YSM_Network.c	Tue May 28 11:18:47 2002
@@ -1547,8 +1547,8 @@
 	int log_len = 0;
 
 #ifdef YSM_USE_ICONV
-	if( YSM_Iconv(	YSM_SETTING_CHARSET_TRANS,
-			YSM_SETTING_CHARSET_LOCAL,
+	if( YSM_Iconv(	YSM_SETTING_CHARSET_LOCAL,
+			YSM_SETTING_CHARSET_TRANS,
 			data,
 			&data_conv,
 			YSM_ICONV_MAXLEN) < 0 )
@@ -2638,6 +2638,7 @@
 	/* offline message variables */
 	int uin,mlen;
 	char *message,MsgType,MsgFlags,Msglen[2];
+	char *data_conv = 0;
 
 		/* its a TLV(1) at the very beggining, always. */
 		tsize += 4;
@@ -2745,13 +2746,22 @@
 			"\nMessage received when you were %soffline%s:\n",
 								BRIGHT_BLUE,
 								NORMAL);
-
+#ifdef YSM_USE_ICONV
+					if( YSM_Iconv(  YSM_SETTING_CHARSET_TRANS,
+					    YSM_SETTING_CHARSET_LOCAL,
+						message,
+						&data_conv,
+						YSM_ICONV_MAXLEN) < 0 )
+#endif
+					{ data_conv = strdup (message); }
+					
 					YSM_DisplayMsg (YSM_MESSAGE_NORMAL,
 							uin,
 							0x0,
-							mlen, message,
+							mlen, data_conv,
 							YSM_Query->NickName,
 							!YSM_Query ? 0x0 : YSM_Query->LogFlag );
+					free(data_conv);
 
 							break;