From owner-FreeBSD-users-jp@jp.freebsd.org  Sat Dec 11 03:18:04 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id DAA17164;
	Sat, 11 Dec 1999 03:18:04 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from kiss.jg8oom.jl1zcf.prug.or.jp (54.pool18.tokyo.att.ne.jp [165.76.223.69])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id DAA17157
	for <FreeBSD-users-jp@jp.freebsd.org>; Sat, 11 Dec 1999 03:18:02 +0900 (JST)
	(envelope-from nabe@mobile.icc.titech.ac.jp)
Received: from localhost (localhost.jg8oom.jl1zcf.prug.or.jp [127.0.0.1])
	by kiss.jg8oom.jl1zcf.prug.or.jp (8.9.3/3.7W-99112300) with ESMTP id DAA25649
	for <FreeBSD-users-jp@jp.freebsd.org>; Sat, 11 Dec 1999 03:17:59 +0900 (JST)
To: FreeBSD-users-jp@jp.freebsd.org
X-Mailer: Mew version 1.94.1 on XEmacs 21.1 (Bryce Canyon)
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
 boundary="--Next_Part(Sat_Dec_11_03:17:51_1999_41)--"
Content-Transfer-Encoding: 7bit
Message-Id: <19991211031757C.nabe@mail.mobile.icc.titech.ac.jp>
Date: Sat, 11 Dec 1999 03:17:57 +0900
From: Shingo WATANABE / =?ISO-2022-JP?B?GyRCRU9KVRsoQiA=?=
	=?ISO-2022-JP?B?GyRCPy04YxsoQg==?= <nabe@mobile.icc.titech.ac.jp>
X-Dispatcher: imput version 990905(IM130)
Lines: 169
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: FreeBSD-users-jp 48165
Subject: [FreeBSD-users-jp 48165] patch for libicq-0.33ja
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: nabe@mobile.icc.titech.ac.jp

----Next_Part(Sat_Dec_11_03:17:51_1999_41)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

$B$o$?$J$Y!wEl9)Bg$G$9!#(B

libicq-0.33 + gicq-0.33 ($B6&$K(B ja patch $B:Q(B) $B$r;H$C$F$$$?$s$G$9$,!"0lIt$N(B
Windows ICQ client $B$+$iAw$i$l$FMh$k%a%C%;!<%8$,2=$1$FFI$a$J$+$C$?$N$G!"(B
$B%Q%C%A$r:n$j$^$7$?!#(B
$B$3$N%Q%C%A$O(B ports $B$N%Q%C%A$r$"$F$?8e$K$G$bE,MQ$7$FD:$1$l$P(B OK $B$J$O$:!#(B

$B860x$O!"(BUDP $B$GAw$i$l$FMh$k$N$O(B SJIS -> EUC $B$KJQ49$7$F$$$k$s$G$9$,!"(BTCP
$B$GAw$i$l$FMh$k%a%C%;!<%8$N>l9g$O$3$NJQ49$rK:$l$F$$$k$h$&$G$9!#(B


$B$"$H$D$$$G$K!"(BWWW $B$+$i%a%C%;!<%8$rAw$C$?:]$K(B 0xfe $B$J$I$,4^$^$l$F$*$j!"0l(B
$BIt@5>o$KI=<($5$l$J$$$N$G!"$=$NJU$j$r$=$l$J$j$K=hM}$9$k$h$&$K$b$7$F$*$-$^(B
$B$7$?!#(B
$B!tK\Ev$O!"$-$A$s$H@07A$9$kJ}$,NI$$$@$m$&$1$I(B...

$B>\$7$/$O2<5-(B URL $BEy$r;29M$K!#(B
http://www.student.nada.kth.se/~d95-mih/icq/spec/v2/web-communicator.txt



libicq $B$r;H$C$F$$$k%/%i%$%"%s%H$G!"J8;z2=$1$K:$$C$F$$$?J}$,$$$?$i!"(B
$B;n$7$F$=$N7k2L$r65$($FD:$1$k$H9,$$$G$9!#(B



$B!t(Blibicq-0.33ja $B$N0l<!G[IU85$C$F$I$3$J$s$@$m$&!)(B


----Next_Part(Sat_Dec_11_03:17:51_1999_41)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Description: Patch for libicq-0.33ja
Content-Disposition: attachment; filename="libicq-0.33ja.tcpmsgfix.patch"

diff -ur libicq-0.33.org/src/libicq.h libicq-0.33/src/libicq.h
--- libicq-0.33.org/src/libicq.h	Tue Feb 23 15:42:24 1999
+++ libicq-0.33/src/libicq.h	Sat Dec 11 01:30:07 1999
@@ -28,6 +28,7 @@
 #define STATUS_AWAY       0x0001
 #define STATUS_DND        0x0013
 
+#define WEB_COMM_MESS     0x000D
 #define USER_ADDED_MESS   0x000C
 #define AUTH_REQ_MESS     0x0006
 #define URL_MESS          0x0004
diff -ur libicq-0.33.org/src/receive.c libicq-0.33/src/receive.c
--- libicq-0.33.org/src/receive.c	Sat Dec 11 02:44:23 1999
+++ libicq-0.33/src/receive.c	Sat Dec 11 02:46:07 1999
@@ -76,7 +76,7 @@
   int s, i, len;
 
   s = SOCKREAD(sok, &pak.head.ver, sizeof(pak) - 2);
-  
+
 #ifdef DEBUG
   fprintf(stderr, "\nLIBICQ> Rec_Packet - ver: %04X, seq: %04X, cmd: %04X", Chars_2_Word(pak.head.ver), Chars_2_Word(pak.head.seq), Chars_2_Word(pak.head.cmd));
 #endif
@@ -275,6 +275,26 @@
     data = ++tmp;
     c_mesg.url = data;
   }
+  else if(c_mesg.type == WEB_COMM_MESS)
+  {
+    int i;
+    int num = 0;
+
+    for(i=0, tmp=data; i<c_mesg.len && *tmp; i++, tmp++){
+      if(*tmp == '\xFE'){
+        *tmp = '\x20';          /* 0xfe -> 0x20(SP) */
+        if(++num == 4)
+            break;
+      }
+    }
+
+    if(num == 4 && *(tmp+1) == '3' && *(tmp+2) == '\xFE'){
+      *(tmp+1) = '\x0d';
+      *(tmp+2) = '\x0a';
+    }
+
+    c_mesg.msg = toStringEUC(data);
+  }
   else
   {
     c_mesg.msg = toStringEUC(data);
@@ -335,7 +355,7 @@
   c_mesg.len = Chars_2_Word(s_mesg->len);
 
   data = (char*)(s_mesg->len + 2);
-  
+
   if(c_mesg.type == URL_MESS)
   {
     tmp = strchr(data, '\xFE');
@@ -345,6 +365,26 @@
     
     data = ++tmp;
     c_mesg.url = data;
+  }
+  else if(c_mesg.type == WEB_COMM_MESS)
+  {
+    int i;
+    int num = 0;
+
+    for(i=0, tmp=data; i<c_mesg.len && *tmp; i++, tmp++){
+      if(*tmp == '\xFE'){
+        *tmp = '\x20';          /* 0xfe -> 0x20(SP) */
+        if(++num == 4)
+            break;
+      }
+    }
+
+    if(num == 4 && *(tmp+1) == '3' && *(tmp+2) == '\xFE'){
+      *(tmp+1) = '\x0d';
+      *(tmp+2) = '\x0a';
+    }
+
+    c_mesg.msg = toStringEUC(data);
   }
   else
   {
diff -ur libicq-0.33.org/src/tcp.c libicq-0.33/src/tcp.c
--- libicq-0.33.org/src/tcp.c	Sat Dec 11 02:47:23 1999
+++ libicq-0.33/src/tcp.c	Sat Dec 11 02:46:50 1999
@@ -31,6 +31,8 @@
 #include "receive.h"
 #include "tcp.h"
 
+#include "japanese.h"
+
 const guint32 LOCALHOST = 0x0100007F;
 
 extern gint Verbose;
@@ -322,6 +324,7 @@
 
    guint32 i;
 
+
 #ifdef DEBUG
    fprintf(stderr, "\nTCP> TCP_ProcessPacket(%04X, %d, %d)", packet, packet_length, sock);
 #endif
@@ -365,7 +368,7 @@
             c_mesg.minute = 0;
             c_mesg.type = MSG_MESS;
             c_mesg.len = strlen(message) + 1;
-            c_mesg.msg = message;
+            c_mesg.msg = toStringEUC(message);
 
 if (Verbose & ICQ_VERB_INFO)
    printf("\nTCP_ProcessPacket(): Received message through tcp");
@@ -391,10 +394,10 @@
             tmp = (char *)strchr(data, '\xfe');
             if(!tmp) return;
             *tmp = 0;
-            c_mesg.msg = data;
+            c_mesg.msg = toStringEUC(data);
       
             data = ++tmp;
-            c_mesg.url = data;
+            c_mesg.url = toStringEUC(data);
 if (Verbose & ICQ_VERB_INFO)
    printf("\nTCP_ProcessPacket(): Received URL through tcp");
 

----Next_Part(Sat_Dec_11_03:17:51_1999_41)----
