寺西です。
Tadamasa Teranishi wrote:
>
> if (tolen == 1) {
> unget1byte(eucj[1]); /* これは \0 ? */
> unget1byte(eucj[0]);
> } else { /* tolen == 2 しか想定してない? */
> unget1byte(eucj[2]); /* これは \0 ? */
> unget1byte(eucj[1]);
> unget1byte(eucj[0]);
> }
> getkanji(c);
> return;
>
> UTF-8 から EUC-JP の3バイト文字に変換されるケースもあるかと思います
> が、tolen が 3 なので、きっと iconv は -1 を返すのだと思います。
> その時、エラー処理をしないと不定値の eucj[0] から eucj[2] が返される
> ので、ちょっとまずいことが起きそうです。
また間違えました。
tolen が 1 の時は、2バイト変換された時なので、このままで問題ありま
せんでした。
それ以外の時は、3バイト文字の処理ということでした。
なので、l が -1 の時(iconvのエラー)の処理さえ加えれば良いだけでした。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)
[メールアドレス保護]
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E
_______________________________________________
Kakasi-dev mailing list
[email protected]
http://www.namazu.org/cgi-bin/mailman/listinfo/kakasi-dev