[Gauche-devel-jp] Re: gauche.charconv (bug?)

アーカイブの一覧に戻る

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




Gauche-devel-jp メーリングリストの案内
アーカイブの一覧に戻る