[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