Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: zipフィルタ Re: lhaフィルタ
臼田です。
日本語名のファイルを含むzipファイルで動作確認をしていて見つけましたが、
昨日修正したフィルタではunzip -Z の出力をeucにしてしまっていて
不具合がありました。
また、空白を含んだファイル名も処理できませんでした。
下記の修正が必要です。
$ diff -u filter/zip.pl.old filter/zip.pl
--- filter/zip.pl.old 2004-05-03 15:57:19.000000000 +0900
+++ filter/zip.pl 2004-05-03 15:56:32.000000000 +0900
@@ -92,7 +92,6 @@
$status = system("$unzippath -Z $tmpfile > $tmpfile2");
if ($status == 0) {
my $filelist = util::readfile("$tmpfile2");
- codeconv::toeuc(\$filelist);
while ($filelist =~/\n\S+\s+ # permission
\S+\s+ # version
\S+\s+ # filesystem
@@ -101,7 +100,7 @@
\S+\s+ #
\S+\s+ # day-month-year
\S+\s+ # hour:min
- (\S+)/gx){ # filename
+ (.+)/gx){ # filename
$files{$2} = $1;
}
}
@@ -120,7 +119,7 @@
util::dprint("$fname: Too large ziped file");
} else {
my $con = "";
- my $fh = util::efopen("$unzippath -p $tmpfile $fname|");
+ my $fh = util::efopen("$unzippath -p $tmpfile \"$fname\"|");
while (defined(my $line = <$fh>)){
$con .= $line;
}
臼田幸生