Shiro Kawai
shiro****@lava*****
2004年 9月 2日 (木) 21:01:00 JST
From: Kimura Fuyuki <fuyuk****@hadal*****> Subject: [Gauche-devel-jp] Re: gauche.charconv (bug?) Date: Tue, 31 Aug 2004 08:57:49 +0900 > sjis->eucの2面の取り扱いがバグってるみたいです。 > > --- jconv.c 16 Dec 2003 09:25:09 -0000 1.18 > +++ jconv.c 30 Aug 2004 23:54:36 -0000 > @@ -179,7 +179,7 @@ > } else if (s1 >= 0xf5) { > OUTCHK(3); > m = 2; > - e1 = (s1-0x9e)*2 + 0xa0 - ((s2 < 0x9f)? 1 : 0); > + e1 = (s1-0xf5)*2 + 0x50 + 0xa0 - ((s2 < 0x9f)? 1 : 0); > } else { > OUTCHK(3); > m = 2; 確かに、元のコードではe1がオーバーフローしてしまいますね。 この公式をどこから引っ張ってきたのだかもう覚えていないので (しかもコメントとコードが微妙に異なっていたりするし) 多分このfixでよいとは思うのですが、一応他の資料も探してみます。 --shiro