Namazu-win32-users-ja(旧)


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

mknmz にて文書フィルタが認識されない



こんにちは、青木と申します。
namazu2.01 を NT4.0 SP6a + IIS4.0 で使用しています。
以下、既知の問題でしたらゴメンナサイ。

mknmz を実行するドライブによって文書フィルタが認識されない
現象が発生しました。
C:\>mknmz -C
~と
D:\>mknmz -C
~としたときでは対応メディアタイプの出力結果が異なります。

C:\>mknmz -C の実行結果
対応メディアタイプ:
  application/pdf    <----(*)
  application/x-gzip
  message/news
  message/rfc822
  text/hnf
  text/html
  text/html; x-type=mhonarc
  text/plain
  text/plain; x-type=rfc

D:\>mknmz -C の実行結果
対応メディアタイプ:
  application/x-bzip2 <---(*)
  application/x-compress <---(*)
  application/x-gzip
  message/news
  message/rfc822
  text/hnf
  text/html
  text/html; x-type=mhonar
  text/plain
  text/plain; x-type=rfc

(*)の部分がそれぞれにしか存在しません。
(自分の環境では pdftotext.exe は C:\namazu\bin にあって
D ドライブには cygwin がインストールしてあります。)

そこで、ちょこっと自分なりに調べてみたのですが…
util.pl の 163行目 sub checkcmd 内にて

for my $dir (split(/:|;/, $ENV{'PATH'})) {

この行の split のセパレータ「:」がパスのドライブとディレクトリを
分断してしまうようです。

例えば…
C:\namazu\bin\ という PATH が

C
\namazu\bin\

の2つに分かれてしまいます。
そのため、文書フィルタに必要なコマンドの入ったパスが存在する
ドライブと異なるドライブで mknmz を走らせた場合は、文書フィルタが
利用できなくなってしまうようです。

以上、長々と分かりにくい文章ですいません。
#そのうえ間違ってたらどうしよう…

---
Minoru Aoki