Namazu-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(虫) remove-on-the-way 途中で消してしまったら
- From: 藤原 誠 / Makoto Fujiwara <makoto@xxxxx>
- Date: Mon, 17 Sep 2001 08:43:01 +0900
- X-ml-name: namazu-users-ja
- X-mail-count: 02073
> 千葉市中央区長洲
> 藤原 誠
ずうっと以前に、
http://www.namazu.org/ml/namazu-devel-ja/msg01227.html
という話題があって、これが 2.0.6 で直っているはずだったので
すが、僕の不注意で、直っていませんでした。(2.0.7 も同様です)
数多くの譜の索引を作成する場合で、(特にメールなどのように)
作成途中に一部のものを消すことが考えられる場合、お手数をおか
けしますが、添付 1 の修正をして下さい。
これの確認方法を(かなりいい加減ですが)作って見ましたので、気
になる方はこちらも試して見て下さい。(添付 2)
【確認方法】
1. 添付の perl script をどこかに置きます。(以下の例では
test-script としています)
2. その隣に ml という directory を作り、その中に、索引を作
るような譜をいくつか置きます。*.html などです。
3. mkdir index しておきます。
4. ./test-script とします。
------------------
makoto@u ■8:22:32/010917(~/namazu-dev/remove-on-the-way)> ls -l
total 14
drwxr-xr-x 2 makoto wheel 1536 Sep 17 08:15 index/ (空)
drwxr-xr-x 2 makoto wheel 512 Sep 17 08:04 ml/ (何か入れておく)
-rwxr-xr-x 1 makoto wheel 244 Sep 17 08:15 test-script*
------------------
○修正前
makoto@u ■8:25:55/010917(~/namazu-dev/remove-on-the-way)> ./test-script
Looking for indexing files...
22 files are found to be indexed.
mknmz: /home/makoto/namazu-dev/remove-on-the-way/files/3030: No such file or directory
で終ってしまう。これは良くない例です。問題があります。
○修正後
makoto@u ■8:27:07/010917(~/namazu-dev/remove-on-the-way)> ./test-script
Looking for indexing files...
21 files are found to be indexed.
1/21 - /home/makoto/namazu-dev/remove-on-the-way/files/3031 does NOT EXIST! skipped.
...
20/20 - /home/makoto/namazu-dev/remove-on-the-way/files/ml/3828 [text/html]
....
Writing index files...
[Base]
....
こうなれば問題が解消されています。
報告をいただいた土屋 雅稔さん、岡埜(OKANO Osamu) さん、ありがとうございます。
---
(藤原)
http://www.ki.nu/software/namazu/tutorial/
--- pl/util.pl-2.0.7 Mon Sep 17 08:17:30 2001
+++ pl/util.pl Mon Sep 17 08:17:26 2001
@@ -145,7 +145,8 @@
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
+ # 2.0.7 had problem
}
my $size = -s $fh;
return $size;
#!/usr/local/bin/perl
system('cp -pr ml files');
$remove =`ls files | head -1`;
open(MKNMZ,'env LANG=C mknmz -f /dev/null -O index files|');
while(<MKNMZ>) {
print ;
if ( /files are found to be indexed/ ) {
system("rm files/$remove")}}
__END__