From owner-FreeBSD-users-jp@jp.freebsd.org  Sun Oct 25 03:52:09 1998
Received: (from daemon@localhost)
	by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) id DAA09639;
	Sun, 25 Oct 1998 03:52:09 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from tfcgw.tfc.co.jp (tfcgw.tfc.co.jp [202.238.100.162])
	by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) with ESMTP id DAA09605;
	Sun, 25 Oct 1998 03:51:45 +0900 (JST)
	(envelope-from nagahama@tfc.co.jp)
Received: (from uucp@localhost)
	by tfcgw.tfc.co.jp (8.9.1a/3.7W+09/25/98) id DAA02595;
	Sun, 25 Oct 1998 03:51:44 +0900 (JST)
Received: from viviane.tfc.co.jp(192.168.10.3) by tfcgw.tfc.co.jp via smap (V2.1+anti-relay+anti-spam)
	id xma002593; Sun, 25 Oct 98 03:51:21 +0900
To: freebsd-tech-jp@jp.freebsd.org
Cc: freebsd-users-jp@jp.freebsd.org
From: Satoshi Nagahama <nagahama@yasuda.comm.waseda.ac.jp>
In-Reply-To: Your message of "Sat, 24 Oct 1998 22:30:06 +0900 (JST)"
	<199810241330.WAA15956@jaz.jp.freebsd.org>
References: <199810241330.WAA15956@jaz.jp.freebsd.org>
X-Mailer: Mew version 1.92.4 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <19981025035120E.nagahama@tfc.co.jp>
Date: Sun, 25 Oct 1998 03:51:20 +0900
X-Dispatcher: imput version 980522
Lines: 82
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+980914
X-Sequence: FreeBSD-users-jp 34467
Subject: [FreeBSD-users-jp 34467] Re: ansi.c patch for ja-netscape
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org

$BD9IM$G$9!#(B

> $B$b$7K\Ev$K$3$l$G0BDj$9$k$h$&$K$J$C$?$N$J$i!"9M$($i$l$k$N$O(B
> 
> 1. wcstombs() $B$N0z?t$N(B n $B$K!"$O$8$a$+$iJQ$JCM$,$O$$$C$F$$$k(B
> 2. sputrune() $B$,$/$5$C$F$F(B n $B$h$jBg$-$J(B e-s (where e!=0) $B$rJV$7(B
>    $B$F$/$k(B
> 
> $B$N$I$A$i$+$G$O$J$$$+$H(B...

$B$=$&$G$9$M!#(B
$B$=$3$G!"$3$NJU$r$b$&>/$7>\$7$/D4$Y$F$_$?$N$G$9$,(B
2.$B$N(Bsputrune$B$O;j$C$F@5>o$JCM$rJV$7$F$$$k$h$&$G(B
$B$I$&$b860x$O(B1.$B$N$h$&$G$9!#(B

$B$o$1$"$C$F:#2s;n$7$?$N$O(BFreeBSD(98)-2.2.7$B$J$N$G$A$g$C$H(B
$B2x$7$$$G$9$,!"(Bwcstombs() $B$N0z?t(B n $B$NCM$K(B -3 $B$,EO$5$l$F(B
$B$3$N4X?t$,8F$P$l$k>l9g$,$"$k;v$,J,$+$j$^$7$?!#(B
$B$=$3$GIi$NCM$,EO$5$l$?>l9g$K$9$0(B -1 $B$r%j%?!<%s$9$k$h$&$K(B
wcstombs()$B$r=q$-49$($?$H$3$m!"A0$HF1MM$K%M%C%H%9%1!<%W$,(B
$B0BDj$7$^$7$?!#(B
$B$D$^$j!"$3$l$i$N$3$H$+$i(B wcstombs() $B<+BN$h$j$b!"$=$l$r8F$S(B
$B=P$7$F$$$kJ}$KLdBj$,$"$k$N$G$O$J$$$+$H9M$($i$l$^$9!#(B
$B$?$@!";d$K$O<B:]$K$3$N4X?t$,(B(Xlib,Motif,Netscape$B$J$I$N(B)$B$I$3(B
$B$+$i8F$P$l$F$$$k$N$+8+Ev$,$D$-$^$;$s!#!d$I$J$?$+NI$$J}K!CN(B
$B$j$^$;$s$+!)(B

$B$^$"!"$H$K$+$/$3$l$G(B wcstombs() $B$N%P%0$H$O8@$($J$/$J$C$?$N$G(B
$B%M%C%H%9%1!<%W$r;H$&;~$N$H$j$"$($:$NBP:v$H$7$F!"$3$N%Q%C%A$r(B
$B;H$C$?J}$,NI$$$H;W$$$^$9!#(B
$B$=$l$H!"A0$N%Q%C%A$G$O%=!<%9$r8+$l$PJ,$+$j$^$9$,%j%?!<%sCM$,(B
$BITDj$K$J$C$F$7$^$&$N$G$"$^$j9%$^$7$/$"$j$^$;$s!#(B
$B$=$3$G(B
--- ansi.c.orig Thu Apr 18 16:01:46 1996
+++ ansi.c      Sun Oct 25 01:36:32 1998
@@ -129,7 +129,7 @@
        char *e;
        int cnt = 0;
 
-       if (!pwcs || !s)
+       if (!pwcs || !s || ((signed)n <= 0))
                return (-1);
 
        while (n > 0) {

$B$3$l$rMQ$$$?J}$,NI$$$+$bCN$l$^$;$s!#(B
($B$?$@$7>e$N%Q%C%A$rMQ$$$?F0:n3NG'$r;d$O$"$^$j$7$F$$$^$;$s!#(B)

> $B$"$H!">e5-$H$O4X78$J$$$N$G$9$1$I!"(B
> 
> --- ansi.c	1998/10/24 03:57:32	1.1
> +++ ansi.c	1998/10/24 04:45:54
> @@ -139,8 +139,10 @@
>  		}
>  		if (!sputrune(*pwcs++, s, n, &e))
>  			return (-1);		/* encoding error */
> -		if (!e)			/* too long */
> +		if (!e) {			/* too long */
> +			*s = 0;
>  			return (cnt);
> +		}
>  		cnt += e - s;
>  		n -= e - s;
>  		s = e;
> 
> $B$OI,MW$J$N$G$O$J$$$G$7$g$&$+!#(B

ANSI$B$N5,3J$G$O$I$&$J$C$F$$$k$N$G$7$g$&$M!)(B
$B$A$J$_$K(BSolaris$B$N(Bman$B$G$O(B

> $BJ#?t%P%$%HJ8;z$,9g7W(B n $B%P%$%H$N8BEY$rD6$($k$+(B NULL $BJ8;z(B
> $B$,3JG<$5$l$k$HDd;_$7$^$9!#(B
>  :
> wcstombs() $B$O=*N;(B NULL $BJ8;z(B($B$"$k>l9g(B)$B$r?t$($:$K!"JQ99$5$l$?(B
> $B%P%$%H$N?t$rJV$7$^$9!#(B

$B$H$"$j$^$9!#(B
$B!V(B($B$"$k>l9g(B)$B!W$H$$$&$3$H$O!V$J$$>l9g!W$b$"$k$C$F$$$&;v$G$7$g$&$+!)(B

--
Satoshi Nagahama
nagahama@yasuda.comm.waseda.ac.jp
