Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Patch to ignore files removed while mknmz processing index
- From: TSUCHIYA Masatoshi <tsuchiya@xxxxxxxxxxxxxxxxxxxxxxx>
- Date: Sun, 16 Sep 2001 20:23:08 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 02030
mknmz を実行して、索引を作成している最中に対象となっているファイルを削
除すると、
検索対象のファイルを調べています...
1個のファイルがインデックス作成の対象として見つかりました
mknmz: /home/tsuchiya/work/namazu/bar: そのようなファイルやディレクトリはありません
というようなエラーが発生して、索引の作成が中断されてしまいます。
これは少し不便なので、ファイルが存在しない場合には、単に無視するように
変更するパッチを作成してみました。
まず、uril::filesize() 関数を以下のように変更して、ファイルが存在しな
い場合には単に 0 を返すようにします。
--- util.pl.orig Tue Aug 21 11:07:07 2001
+++ util.pl Sun Sep 16 19:55:48 2001
@@ -145,7 +145,7 @@
return '';
}
} else {
- $fh = efopen($arg) || return 0; # in case file is removed after find_file
+ $fh = fopen($arg) || return 0; # in case file is removed after find_file
}
my $size = -s $fh;
return $size;
更に、process_file() 関数を次のように変更して、ファイルサイズ == 0 の
場合を単に無視するようにします。
--- mknmz.orig Tue Aug 21 11:07:08 2001
+++ mknmz Sun Sep 16 20:00:45 2001
@@ -179,6 +179,8 @@
my $processed_num = 0;
my $file_size = util::filesize($cfile);
+ return ( $file_size, $processed_num ) unless $file_size;
+
if ($var::Opt{'htmlsplit'} && $cfile =~ $conf::HTML_SUFFIX) {
my @parts = htmlsplit::split($cfile, "NMZ.partial");
if (@parts > 1) {
宜しくご検討をお願いします。
--
土屋 雅稔 ( TSUCHIYA Masatoshi )