Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
OS/2 problem
- From: Kaz SHiMZ <kshimz@xxxxxxxxx>
- Date: Thu, 14 Feb 2002 11:05:00 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 02349
毎々お世話になっております。住友林業の清水です。
昨年来、メインマシンの移行で OS/2 の開発環境が構築できずにいましたが
やっと autoconf 〜 make が実行できるようになりました。
さっそく最新の stable コードで make して実行したところ、
・kakasi-2.3.4
autoconf / configure / make で問題なし。動作も問題なし。
・namazu-2.0.10
(1) win32 と同じく str(n)casecmp を str(n)icmp にする必要あり
(2) namazu が出すメッセージが SJIS 化された(gettext 効果?)が、
検索結果の部分は EUC のまま(mknmz の出力通り)
という点が判明しました。
(1) については、[namazu-devel-ja #02297] にある、
2002-01-12 Ryuji Abe <rug@xxxxxxxxxx>
* nmz/support.h [Solaris 2.5]: Abandoned to use __vsnprintf
because of binary compatibility issue.
[WIN32]: Use str(n)icmp instead of str(n)casecmp.
を OS/2 でも(emx でも)、 #ifdef __EMX__ を使って対応していた
だければ済むと思います。
(2) についても、win32 で SJIS / EUC 混在ということはないと思われま
すので、win32 での処理とそろえていただければいいと思います。
win32 での挙動の詳細を把握せずに書いて申し訳ないのですが、個人
的には、
コマンドラインから起動した場合は SJIS に揃える
cgi から起動した場合は EUC に揃える
というのが使い易いと思ってます。もちろん、いつでも EUC に揃える
(あるいは SJIS に揃える)ということでも問題はないです。
なお、上記の (1) を追いかけていて気がついたのですが、OS/2 では
nmz/support.h にある以下のコード(およびその前後)と、
#ifndef HAVE_STRCASECMP
#define strcasecmp _nmz_strcasecmp
#endif
#ifndef HAVE_STRNCASECMP
#define strncasecmp _nmz_strncasecmp
#endif
nmz/util.h にある以下のコード(およびその前後)
extern int nmz_strcasecmp ( const char *str1, const char *str2 );
extern int nmz_strncasecmp ( const char *str1, const char *str2, int n );
の両方を回った結果、「symbol _str(n)casecmp があらへんでぇ」と言われて
いるように思います。で、最終的に nmz_str(n)casecmp がどこにも定義されて
いないというのが問題の源泉ですよね。
このへんのコードも、[namazu-devel-ja #02297] にある、
2002-01-12 Ryuji Abe <rug@xxxxxxxxxx>
* nmz/support.h [Solaris 2.5]: Abandoned to use __vsnprintf
because of binary compatibility issue.
[WIN32]: Use str(n)icmp instead of str(n)casecmp.
で整理(消去)されているのでしょうか。
CVS が使えない(環境) & よくわかってない(知識)ので、自分で確認で
きず申し訳ないですが、ご確認よろしくお願いします。
ではでは。
--
住友林業株式会社 情報システム部 清水 和佳
TEL: 03-5322-6672 FAX: 03-5322-6658 Niftyserve: PXD03473
e-mail: <kshimz@xxxxxxxxx>