[前][次][番号順一覧][スレッド一覧]

sylpheed-jp:2146

From: "Noriaki.Seki@xxxxxxxxxx" <Noriaki.Seki@xxxxxxxxxx>
Date: Thu, 9 Jan 2003 14:48:28 +0900
Subject: [sylpheed-jp:02146] Re: 件名の文字化け

関です。
今年も宜しくお願い致します。

> とりあえず、 LBREAK_IF_REQUIRED() の定義を空に
> (#define LBREAK_IF_REQUIRED(cond) だけに)するとどうなるか試して頂けます
> か?

残念ながら、Segmentation faultで落ちてしまいました...


色々試したところ、isspace(isasciiなどもか?)の動作が怪しそうでした。
(実際、gcc-2.7.2.3、2.95.3、3.2の全てで同様な現象が起きていたので、
コンパイラのせいではなさそうでした。)

Solaris 8のisspaceを辿ると、 /usr/include/iso/ctype_iso.h 中に
次のような関数マクロとして定義されていました。

#define	_S	0x00000008	/* Spacing character */
extern unsigned char	__ctype[];
#define	isspace(c)	((__ctype + 1)[c] & _S)

ただ、nmで/usr/lib/libc.so.1のシンボルを見ると、libc中には関数として
存在していたので、
1. 適当な所に空っぽのctype.hを作る。(touch ctype.h)
2. 強制的に1をインクルードさせる。(make CC='gcc -include ctype.h')
というやり方でlibcの関数を呼ぶようにしたら、-O2オプション付きでも
文字化けしなくなりました。

というわけで、Sylpheedのバグではなく、OS側の問題のようです。
どうも、お騒がせして申し訳ありませんでした。

# SunSolveを探してみましたが、パッチは見当たりませんでした...

// 関

[前][次][番号順一覧][スレッド一覧]

      2125 2002-12-26 11:05 [Noriaki.Seki@xxxxxxx] 件名の文字化け                          
      2126 2002-12-26 14:44 ┣[Noriaki.Seki@xxxxxxx]                                       
   @  2127 2002-12-26 15:27 ┣[hiro-y@xxxxxxxxxx   ]                                       
      2128 2002-12-26 16:06 ┃┗[Noriaki.Seki@xxxxxxx]                                     
      2129 2002-12-26 16:16 ┃ ┗[hiro-y@xxxxxxxxxx   ]                                   
      2134 2002-12-26 17:57 ┃  ┗[Noriaki.Seki@xxxxxxx]                                 
      2135 2002-12-26 18:16 ┃   ┗[hiro-y@xxxxxxxxxx   ]                               
      2145 2003-01-07 16:37 ┣[hiro-y@xxxxxxxxxx   ]                                       
->    2146 2003-01-09 14:48 ┃┗[Noriaki.Seki@xxxxxxx]                                     
      2147 2003-01-10 01:48 ┃ ┣[manabey0@xxxxxxxxxx ]                                   
      2148 2003-01-10 02:21 ┃ ┗[yosshy@xxxxxxxxxx   ]                                   
      2159 2003-01-18 10:39 ┗[miyagi@xxxxxxxxxx   ]