[Namazu-users-ja 674] Re: mknmzが止まってしまう

Yukio USUDA yukio-usuda @ jb-honshi.co.jp
2006年 2月 1日 (水) 18:37:00 JST


臼田です

HIROSE Yoshihide wrote:
> 廣瀬と申します。
> 
> At Wed, 01 Feb 2006 16:53:54 +0900,
> Yasushi.Shimizu wrote:
> 
>> 現象の起こる条件:
>> インデックス対象ファイルのファイル名末尾にスペースが入っている
> 
>> 'srch.php?key=test1 ' のようにファイル名末尾にスペースがある
>> ファイルに当たると問題の現象が起こる。すなわち、
>> 「mknmz: /home/hoge/getfile/srch.php?key=test1 : 
>>                   そのようなファイルやディレクトリはありません」
>> とメッセージを吐いて停止する。
> 
> 手元で2.0.15でチェックしてみましたが,末尾に空白があるファイルを対象にしても
> インデクスは作成できています。
> 
私のところでは停止する現象が再現されました。
FreeBSD5.3R,  perl v5.8.7, namazu-2.0.14 で確認しました。

pl/util.pl の sub fopen() の中での open($fname) で失敗しているようです。

use IO::File;
use strict;

my $fname = $ARGV[0];
my $fh = new IO::File;

if ($fh->open($fname)) {
    print "OK:$fname:\n";
} else {
    print "NG:$fname:$!\n";
}
$fh->close();

というように該当部分を切り出したスクリプトで確認できます。

$ touch 'test1 '
$ perl test.pl 'test1 '
NG:test1 :No such file or directory

となります。

IO::File の制限のようにも見えますが、うまくいく環境もあるようですね。

臼田幸生



Namazu-users-ja メーリングリストの案内