[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:49776] Re: tcshがセグメンテーション違反



こうもとです。

>  多バイト環境全て(EUC-JPだけでなく)で、特定条件が重なると発生するよ
> うです。

 メールを出した後、ふと思い、最新版のtcsh(6.15.00)で試してみると、
修正されていました。
 そこで、差分から原因を探ってみると・・・わかりました。

---------------------------------------------------------------------
*** sh.lex.c.org        2004-12-26 06:15:07.000000000 +0900
--- sh.lex.c    2007-11-20 16:51:52.000000000 +0900
***************
*** 1716,1722 ****
            len = normal_mbtowc(buf + res, cbuf + i, partial - i);
            if (len == -1) {
                reset_mbtowc();
!               if (partial < MB_LEN_MAX && r > 0)
                    /* Maybe a partial character and there is still a chance
                       to read more */
                    break;
--- 1716,1722 ----
            len = normal_mbtowc(buf + res, cbuf + i, partial - i);
            if (len == -1) {
                reset_mbtowc();
!               if ((partial - i) < MB_LEN_MAX && r > 0)
                    /* Maybe a partial character and there is still a chance
                       to read more */
                    break;
---------------------------------------------------------------------

 この修正を入れると、落ちることも文字化けすることもなくなりました。

 この修正を、Debianの公式パッケージに入れてもらうことって、できるん
ですかね。

======================================================================
河本陽一(こうもとよういち)
mailto:komoto.yoichi@xxxxxxxxx