namazu-ml(avocado)


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

Re: Namazu v1.1.1.3 released



清水@住友林業です。

一部、解決しました。

namazu 実行時の「カレントドライブ」ですが、emx gcc の chdir() では 
working drive 自体は変更されません。よって、chdir() の前か後で 
_chdir2() を実行する必要がありました。これ、WIN32 とは互換性がなさ
そうなので、OS/2 emx gcc だけの対応としてあります。

最後に srnmz.c のパッチを付けます。

環境変数対応の際に、namazu.conf がどのドライブにあっても読み込まれた
ので嬉しがっていたのですが、namazu.conf の中で指定されているディレク
トリのドライブのことは、す〜っかり失念してました。で、INDEX や temp 
でカレントドライブ以外のドライブレターを付けた文字列にすると、NMZ.f 
が読めない、ということになっていました。

テスト不足でお手数をお掛けしてしまい、まことに申し訳ありません。
ごめんなさい。

ただ、

> > 	* SunOS4 + Perl5.003 の環境でインデックスの更新がおかしくなる問題
> > 	  を対処しました (日本語の文字列の比較が正しく行われない)
> > 	  (加藤@NTTDATA通信さん、古川@ヤマハさんご助言ありがとうございます)
> 
> これの影響かもしれませんが、mknmz を走らせている際に、コンパイル等の I/O
> が激しく発生する job を並行して流すと、NMZ.f がおかしくなる事があります。

  (namazu を動かすと NMZ.f  something error occurs みたいなエラーが出る)

これが出る現象はもう一つあって、ホントに NMZ.f ができていないケースもあり
ます。 そのかわり、 NMZ.f.13207.tmp などというファイルが残っています。

# どうも Perl を疑う必要もあるようです....

では、パッチです。

--

--- srnmz.c.orig        Sat Feb 28 00:01:28 1998
+++ srnmz.c     Sat Feb 28 20:31:14 1998
@@ -2176,10 +2176,18 @@
        if (i <= ac - 2) {
            if (-1 == chdir(av[i]))
                error(av[i]);
+#ifdef __EMX__
+           if (-1 == _chdir2(av[i]))
+               error(av[i]);
+#endif
            i++;
        } else {
            if (-1 == chdir(DEFAULT_DIR))
                error(DEFAULT_DIR);
+#ifdef __EMX__
+           if (-1 == _chdir2(DEFAULT_DIR))
+               error(DEFAULT_DIR);
+#endif
        }
        if (strlen(av[i]) >= BUFSIZ - 1) {
            euctojisput(TOO_LONG_KEY, 0);

end
--
  住友林業株式会社  情報システム部   清水 和佳
 
  TEL: +81-3-5322-6672  FAX: +81-3-5322-6658  Niftyserve: XLW01034
  e-mail: <kshimz@xxxxxxxxx>