|
sylpheed-jp:2148
From: 吉山 晃 <yosshy@xxxxxxxxxx> 吉山です。 On Thu, 9 Jan 2003 14:48:28 +0900 "Noriaki.Seki@xxxxxxxxxx" <Noriaki.Seki@xxxxxxxxxx> wrote: > 関です。 (snip) > 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を探してみましたが、パッチは見当たりませんでした... 環境は違いますが、他でも問題になっていました。解決策として、使用前に isspace を undef してしまうというのがあるようです。 http://sources.redhat.com/ml/cygwin/1998-09/msg00550.html ただ、関数とマクロの両方が定義されている所を見ると、何らかの define で回 避できそうな気がします。 --- 吉山あきら <yosshy@xxxxxxxxxx> 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 ] |